/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package xsd.impl;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

import org.eclipse.emf.ecore.impl.EPackageImpl;

import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

import wsdl.WsdlPackage;

import wsdl.impl.WsdlPackageImpl;

import xsd.XSDAnnotation;
import xsd.XSDAttributeDeclaration;
import xsd.XSDAttributeGroupContent;
import xsd.XSDAttributeGroupDefinition;
import xsd.XSDAttributeUse;
import xsd.XSDAttributeUseCategory;
import xsd.XSDBoundedFacet;
import xsd.XSDCardinality;
import xsd.XSDCardinalityFacet;
import xsd.XSDComplexFinal;
import xsd.XSDComplexTypeContent;
import xsd.XSDComplexTypeDefinition;
import xsd.XSDComponent;
import xsd.XSDCompositor;
import xsd.XSDConcreteComponent;
import xsd.XSDConstrainingFacet;
import xsd.XSDConstraint;
import xsd.XSDContentTypeCategory;
import xsd.XSDDerivationMethod;
import xsd.XSDDiagnostic;
import xsd.XSDDiagnosticSeverity;
import xsd.XSDDisallowedSubstitutions;
import xsd.XSDElementDeclaration;
import xsd.XSDEnumerationFacet;
import xsd.XSDFacet;
import xsd.XSDFeature;
import xsd.XSDFixedFacet;
import xsd.XSDForm;
import xsd.XSDFractionDigitsFacet;
import xsd.XSDFundamentalFacet;
import xsd.XSDIdentityConstraintCategory;
import xsd.XSDIdentityConstraintDefinition;
import xsd.XSDImport;
import xsd.XSDInclude;
import xsd.XSDLengthFacet;
import xsd.XSDMaxExclusiveFacet;
import xsd.XSDMaxFacet;
import xsd.XSDMaxInclusiveFacet;
import xsd.XSDMaxLengthFacet;
import xsd.XSDMinExclusiveFacet;
import xsd.XSDMinFacet;
import xsd.XSDMinInclusiveFacet;
import xsd.XSDMinLengthFacet;
import xsd.XSDModelGroup;
import xsd.XSDModelGroupDefinition;
import xsd.XSDNamedComponent;
import xsd.XSDNamespaceConstraintCategory;
import xsd.XSDNotationDeclaration;
import xsd.XSDNumericFacet;
import xsd.XSDOrdered;
import xsd.XSDOrderedFacet;
import xsd.XSDParticle;
import xsd.XSDParticleContent;
import xsd.XSDPatternFacet;
import xsd.XSDProcessContents;
import xsd.XSDProhibitedSubstitutions;
import xsd.XSDRedefinableComponent;
import xsd.XSDRedefine;
import xsd.XSDRedefineContent;
import xsd.XSDRepeatableFacet;
import xsd.XSDSchema;
import xsd.XSDSchemaCompositor;
import xsd.XSDSchemaContent;
import xsd.XSDSchemaDirective;
import xsd.XSDScope;
import xsd.XSDSimpleFinal;
import xsd.XSDSimpleTypeDefinition;
import xsd.XSDSubstitutionGroupExclusions;
import xsd.XSDTerm;
import xsd.XSDTotalDigitsFacet;
import xsd.XSDTypeDefinition;
import xsd.XSDVariety;
import xsd.XSDWhiteSpace;
import xsd.XSDWhiteSpaceFacet;
import xsd.XSDWildcard;
import xsd.XSDXPathDefinition;
import xsd.XSDXPathVariety;
import xsd.XsdFactory;
import xsd.XsdPackage;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Package</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class XsdPackageImpl extends EPackageImpl implements XsdPackage {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdAnnotationEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdAttributeDeclarationEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdAttributeGroupContentEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdAttributeGroupDefinitionEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdAttributeUseEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdBoundedFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdCardinalityFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdComplexTypeContentEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdComplexTypeDefinitionEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdComponentEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdConcreteComponentEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdConstrainingFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdDiagnosticEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdElementDeclarationEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdEnumerationFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdFeatureEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdFixedFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdFractionDigitsFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdFundamentalFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdIdentityConstraintDefinitionEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdImportEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdIncludeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdLengthFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdMaxExclusiveFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdMaxFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdMaxInclusiveFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdMaxLengthFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdMinExclusiveFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdMinFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdMinInclusiveFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdMinLengthFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdModelGroupEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdModelGroupDefinitionEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdNamedComponentEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdNotationDeclarationEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdNumericFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdOrderedFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdParticleEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdParticleContentEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdPatternFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdRedefinableComponentEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdRedefineContentEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdRedefineEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdRepeatableFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdSchemaEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdSchemaCompositorEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdSchemaContentEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdSchemaDirectiveEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdScopeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdSimpleTypeDefinitionEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdTermEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdTotalDigitsFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdTypeDefinitionEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdWhiteSpaceFacetEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdWildcardEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass xsdxPathDefinitionEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdAttributeUseCategoryEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdCardinalityEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdComplexFinalEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdCompositorEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdConstraintEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdContentTypeCategoryEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdDerivationMethodEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdDiagnosticSeverityEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdDisallowedSubstitutionsEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdFormEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdIdentityConstraintCategoryEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdNamespaceConstraintCategoryEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdOrderedEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdProcessContentsEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdProhibitedSubstitutionsEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdSimpleFinalEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdSubstitutionGroupExclusionsEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdVarietyEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdWhiteSpaceEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EEnum xsdxPathVarietyEEnum = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EDataType domAttrEDataType = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EDataType domDocumentEDataType = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EDataType domElementEDataType = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EDataType domNodeEDataType = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EDataType valueEDataType = null;

	/**
	 * Creates an instance of the model <b>Package</b>, registered with
	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
	 * package URI value.
	 * <p>Note: the correct way to create the package is via the static
	 * factory method {@link #init init()}, which also performs
	 * initialization of the package, or returns the registered package,
	 * if one already exists.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see org.eclipse.emf.ecore.EPackage.Registry
	 * @see xsd.XsdPackage#eNS_URI
	 * @see #init()
	 * @generated
	 */
	private XsdPackageImpl() {
		super(eNS_URI, XsdFactory.eINSTANCE);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static boolean isInited = false;

	/**
	 * Creates, registers, and initializes the <b>Package</b> for this
	 * model, and for any others upon which it depends.  Simple
	 * dependencies are satisfied by calling this method on all
	 * dependent packages before doing anything else.  This method drives
	 * initialization for interdependent packages directly, in parallel
	 * with this package, itself.
	 * <p>Of this package and its interdependencies, all packages which
	 * have not yet been registered by their URI values are first created
	 * and registered.  The packages are then initialized in two steps:
	 * meta-model objects for all of the packages are created before any
	 * are initialized, since one package's meta-model objects may refer to
	 * those of another.
	 * <p>Invocation of this method will not affect any packages that have
	 * already been initialized.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #eNS_URI
	 * @see #createPackageContents()
	 * @see #initializePackageContents()
	 * @generated
	 */
	public static XsdPackage init() {
		if (isInited) return (XsdPackage)EPackage.Registry.INSTANCE.getEPackage(XsdPackage.eNS_URI);

		// Obtain or create and register package
		XsdPackageImpl theXsdPackage = (XsdPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof XsdPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new XsdPackageImpl());

		isInited = true;

		// Obtain or create and register interdependencies
		WsdlPackageImpl theWsdlPackage = (WsdlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WsdlPackage.eNS_URI) instanceof WsdlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WsdlPackage.eNS_URI) : WsdlPackage.eINSTANCE);

		// Create package meta-data objects
		theXsdPackage.createPackageContents();
		theWsdlPackage.createPackageContents();

		// Initialize created meta-data
		theXsdPackage.initializePackageContents();
		theWsdlPackage.initializePackageContents();

		// Mark meta-data to indicate it can't be changed
		theXsdPackage.freeze();

		return theXsdPackage;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDAnnotation() {
		return xsdAnnotationEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDAnnotation_ApplicationInformation() {
		return (EAttribute)xsdAnnotationEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDAnnotation_UserInformation() {
		return (EAttribute)xsdAnnotationEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDAnnotation_Attributes() {
		return (EAttribute)xsdAnnotationEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDAttributeDeclaration() {
		return xsdAttributeDeclarationEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDAttributeDeclaration_AttributeDeclarationReference() {
		return (EAttribute)xsdAttributeDeclarationEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeDeclaration_Annotation() {
		return (EReference)xsdAttributeDeclarationEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeDeclaration_AnonymousTypeDefinition() {
		return (EReference)xsdAttributeDeclarationEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeDeclaration_TypeDefinition() {
		return (EReference)xsdAttributeDeclarationEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeDeclaration_ResolvedAttributeDeclaration() {
		return (EReference)xsdAttributeDeclarationEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDAttributeGroupContent() {
		return xsdAttributeGroupContentEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDAttributeGroupDefinition() {
		return xsdAttributeGroupDefinitionEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDAttributeGroupDefinition_AttributeGroupDefinitionReference() {
		return (EAttribute)xsdAttributeGroupDefinitionEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeGroupDefinition_Annotation() {
		return (EReference)xsdAttributeGroupDefinitionEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeGroupDefinition_Contents() {
		return (EReference)xsdAttributeGroupDefinitionEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeGroupDefinition_AttributeUses() {
		return (EReference)xsdAttributeGroupDefinitionEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeGroupDefinition_AttributeWildcardContent() {
		return (EReference)xsdAttributeGroupDefinitionEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeGroupDefinition_AttributeWildcard() {
		return (EReference)xsdAttributeGroupDefinitionEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeGroupDefinition_ResolvedAttributeGroupDefinition() {
		return (EReference)xsdAttributeGroupDefinitionEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeGroupDefinition_SyntheticWildcard() {
		return (EReference)xsdAttributeGroupDefinitionEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDAttributeUse() {
		return xsdAttributeUseEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDAttributeUse_Required() {
		return (EAttribute)xsdAttributeUseEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDAttributeUse_Value() {
		return (EAttribute)xsdAttributeUseEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDAttributeUse_Constraint() {
		return (EAttribute)xsdAttributeUseEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDAttributeUse_Use() {
		return (EAttribute)xsdAttributeUseEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDAttributeUse_LexicalValue() {
		return (EAttribute)xsdAttributeUseEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeUse_AttributeDeclaration() {
		return (EReference)xsdAttributeUseEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDAttributeUse_Content() {
		return (EReference)xsdAttributeUseEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDBoundedFacet() {
		return xsdBoundedFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDBoundedFacet_Value() {
		return (EAttribute)xsdBoundedFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDCardinalityFacet() {
		return xsdCardinalityFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDCardinalityFacet_Value() {
		return (EAttribute)xsdCardinalityFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDComplexTypeContent() {
		return xsdComplexTypeContentEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDComplexTypeDefinition() {
		return xsdComplexTypeDefinitionEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDComplexTypeDefinition_DerivationMethod() {
		return (EAttribute)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDComplexTypeDefinition_Final() {
		return (EAttribute)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDComplexTypeDefinition_Abstract() {
		return (EAttribute)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDComplexTypeDefinition_ContentTypeCategory() {
		return (EAttribute)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDComplexTypeDefinition_ProhibitedSubstitutions() {
		return (EAttribute)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDComplexTypeDefinition_LexicalFinal() {
		return (EAttribute)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDComplexTypeDefinition_Block() {
		return (EAttribute)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDComplexTypeDefinition_Mixed() {
		return (EAttribute)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDComplexTypeDefinition_ContentAnnotation() {
		return (EReference)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDComplexTypeDefinition_BaseTypeDefinition() {
		return (EReference)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDComplexTypeDefinition_Content() {
		return (EReference)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDComplexTypeDefinition_ContentType() {
		return (EReference)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDComplexTypeDefinition_AttributeUses() {
		return (EReference)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDComplexTypeDefinition_AttributeContents() {
		return (EReference)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDComplexTypeDefinition_AttributeWildcard() {
		return (EReference)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDComplexTypeDefinition_AttributeWildcardContent() {
		return (EReference)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(15);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDComplexTypeDefinition_RootTypeDefinition() {
		return (EReference)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(16);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDComplexTypeDefinition_SyntheticParticle() {
		return (EReference)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(17);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDComplexTypeDefinition_SyntheticWildcard() {
		return (EReference)xsdComplexTypeDefinitionEClass.getEStructuralFeatures().get(18);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDComponent() {
		return xsdComponentEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDConcreteComponent() {
		return xsdConcreteComponentEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDConcreteComponent_Element() {
		return (EAttribute)xsdConcreteComponentEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDConcreteComponent_Container() {
		return (EReference)xsdConcreteComponentEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDConcreteComponent_RootContainer() {
		return (EReference)xsdConcreteComponentEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDConcreteComponent_Schema() {
		return (EReference)xsdConcreteComponentEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDConcreteComponent_Diagnostics() {
		return (EReference)xsdConcreteComponentEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDConstrainingFacet() {
		return xsdConstrainingFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDDiagnostic() {
		return xsdDiagnosticEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDDiagnostic_Severity() {
		return (EAttribute)xsdDiagnosticEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDDiagnostic_Message() {
		return (EAttribute)xsdDiagnosticEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDDiagnostic_LocationURI() {
		return (EAttribute)xsdDiagnosticEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDDiagnostic_Line() {
		return (EAttribute)xsdDiagnosticEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDDiagnostic_Column() {
		return (EAttribute)xsdDiagnosticEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDDiagnostic_Node() {
		return (EAttribute)xsdDiagnosticEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDDiagnostic_AnnotationURI() {
		return (EAttribute)xsdDiagnosticEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDDiagnostic_Key() {
		return (EAttribute)xsdDiagnosticEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDDiagnostic_Substitutions() {
		return (EAttribute)xsdDiagnosticEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDDiagnostic_Components() {
		return (EReference)xsdDiagnosticEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDDiagnostic_PrimaryComponent() {
		return (EReference)xsdDiagnosticEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDElementDeclaration() {
		return xsdElementDeclarationEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDElementDeclaration_Nillable() {
		return (EAttribute)xsdElementDeclarationEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDElementDeclaration_DisallowedSubstitutions() {
		return (EAttribute)xsdElementDeclarationEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDElementDeclaration_SubstitutionGroupExclusions() {
		return (EAttribute)xsdElementDeclarationEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDElementDeclaration_Abstract() {
		return (EAttribute)xsdElementDeclarationEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDElementDeclaration_LexicalFinal() {
		return (EAttribute)xsdElementDeclarationEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDElementDeclaration_Block() {
		return (EAttribute)xsdElementDeclarationEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDElementDeclaration_ElementDeclarationReference() {
		return (EAttribute)xsdElementDeclarationEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDElementDeclaration_Circular() {
		return (EAttribute)xsdElementDeclarationEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDElementDeclaration_Annotation() {
		return (EReference)xsdElementDeclarationEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDElementDeclaration_AnonymousTypeDefinition() {
		return (EReference)xsdElementDeclarationEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDElementDeclaration_TypeDefinition() {
		return (EReference)xsdElementDeclarationEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDElementDeclaration_IdentityConstraintDefinitions() {
		return (EReference)xsdElementDeclarationEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDElementDeclaration_ResolvedElementDeclaration() {
		return (EReference)xsdElementDeclarationEClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDElementDeclaration_SubstitutionGroupAffiliation() {
		return (EReference)xsdElementDeclarationEClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDElementDeclaration_SubstitutionGroup() {
		return (EReference)xsdElementDeclarationEClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDEnumerationFacet() {
		return xsdEnumerationFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDEnumerationFacet_Value() {
		return (EAttribute)xsdEnumerationFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDFacet() {
		return xsdFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDFacet_LexicalValue() {
		return (EAttribute)xsdFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDFacet_FacetName() {
		return (EAttribute)xsdFacetEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDFacet_EffectiveValue() {
		return (EAttribute)xsdFacetEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDFacet_Annotation() {
		return (EReference)xsdFacetEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDFacet_SimpleTypeDefinition() {
		return (EReference)xsdFacetEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDFeature() {
		return xsdFeatureEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDFeature_Value() {
		return (EAttribute)xsdFeatureEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDFeature_Constraint() {
		return (EAttribute)xsdFeatureEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDFeature_Form() {
		return (EAttribute)xsdFeatureEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDFeature_LexicalValue() {
		return (EAttribute)xsdFeatureEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDFeature_Global() {
		return (EAttribute)xsdFeatureEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDFeature_FeatureReference() {
		return (EAttribute)xsdFeatureEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDFeature_Scope() {
		return (EReference)xsdFeatureEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDFeature_ResolvedFeature() {
		return (EReference)xsdFeatureEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDFeature_Type() {
		return (EReference)xsdFeatureEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDFixedFacet() {
		return xsdFixedFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDFixedFacet_Fixed() {
		return (EAttribute)xsdFixedFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDFractionDigitsFacet() {
		return xsdFractionDigitsFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDFractionDigitsFacet_Value() {
		return (EAttribute)xsdFractionDigitsFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDFundamentalFacet() {
		return xsdFundamentalFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDIdentityConstraintDefinition() {
		return xsdIdentityConstraintDefinitionEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDIdentityConstraintDefinition_IdentityConstraintCategory() {
		return (EAttribute)xsdIdentityConstraintDefinitionEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDIdentityConstraintDefinition_Annotation() {
		return (EReference)xsdIdentityConstraintDefinitionEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDIdentityConstraintDefinition_ReferencedKey() {
		return (EReference)xsdIdentityConstraintDefinitionEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDIdentityConstraintDefinition_Selector() {
		return (EReference)xsdIdentityConstraintDefinitionEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDIdentityConstraintDefinition_Fields() {
		return (EReference)xsdIdentityConstraintDefinitionEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDImport() {
		return xsdImportEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDImport_Namespace() {
		return (EAttribute)xsdImportEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDImport_Annotation() {
		return (EReference)xsdImportEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDInclude() {
		return xsdIncludeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDInclude_Annotation() {
		return (EReference)xsdIncludeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDLengthFacet() {
		return xsdLengthFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDLengthFacet_Value() {
		return (EAttribute)xsdLengthFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDMaxExclusiveFacet() {
		return xsdMaxExclusiveFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDMaxFacet() {
		return xsdMaxFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDMaxFacet_Value() {
		return (EAttribute)xsdMaxFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDMaxFacet_Inclusive() {
		return (EAttribute)xsdMaxFacetEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDMaxFacet_Exclusive() {
		return (EAttribute)xsdMaxFacetEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDMaxInclusiveFacet() {
		return xsdMaxInclusiveFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDMaxLengthFacet() {
		return xsdMaxLengthFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDMaxLengthFacet_Value() {
		return (EAttribute)xsdMaxLengthFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDMinExclusiveFacet() {
		return xsdMinExclusiveFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDMinFacet() {
		return xsdMinFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDMinFacet_Value() {
		return (EAttribute)xsdMinFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDMinFacet_Inclusive() {
		return (EAttribute)xsdMinFacetEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDMinFacet_Exclusive() {
		return (EAttribute)xsdMinFacetEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDMinInclusiveFacet() {
		return xsdMinInclusiveFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDMinLengthFacet() {
		return xsdMinLengthFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDMinLengthFacet_Value() {
		return (EAttribute)xsdMinLengthFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDModelGroup() {
		return xsdModelGroupEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDModelGroup_Compositor() {
		return (EAttribute)xsdModelGroupEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDModelGroup_Annotation() {
		return (EReference)xsdModelGroupEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDModelGroup_Contents() {
		return (EReference)xsdModelGroupEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDModelGroup_Particles() {
		return (EReference)xsdModelGroupEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDModelGroupDefinition() {
		return xsdModelGroupDefinitionEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDModelGroupDefinition_ModelGroupDefinitionReference() {
		return (EAttribute)xsdModelGroupDefinitionEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDModelGroupDefinition_Annotation() {
		return (EReference)xsdModelGroupDefinitionEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDModelGroupDefinition_ModelGroup() {
		return (EReference)xsdModelGroupDefinitionEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDModelGroupDefinition_ResolvedModelGroupDefinition() {
		return (EReference)xsdModelGroupDefinitionEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDNamedComponent() {
		return xsdNamedComponentEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDNamedComponent_Name() {
		return (EAttribute)xsdNamedComponentEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDNamedComponent_TargetNamespace() {
		return (EAttribute)xsdNamedComponentEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDNamedComponent_AliasName() {
		return (EAttribute)xsdNamedComponentEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDNamedComponent_URI() {
		return (EAttribute)xsdNamedComponentEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDNamedComponent_AliasURI() {
		return (EAttribute)xsdNamedComponentEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDNamedComponent_QName() {
		return (EAttribute)xsdNamedComponentEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDNotationDeclaration() {
		return xsdNotationDeclarationEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDNotationDeclaration_SystemIdentifier() {
		return (EAttribute)xsdNotationDeclarationEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDNotationDeclaration_PublicIdentifier() {
		return (EAttribute)xsdNotationDeclarationEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDNotationDeclaration_Annotation() {
		return (EReference)xsdNotationDeclarationEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDNumericFacet() {
		return xsdNumericFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDNumericFacet_Value() {
		return (EAttribute)xsdNumericFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDOrderedFacet() {
		return xsdOrderedFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDOrderedFacet_Value() {
		return (EAttribute)xsdOrderedFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDParticle() {
		return xsdParticleEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDParticle_MinOccurs() {
		return (EAttribute)xsdParticleEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDParticle_MaxOccurs() {
		return (EAttribute)xsdParticleEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDParticle_Content() {
		return (EReference)xsdParticleEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDParticle_Term() {
		return (EReference)xsdParticleEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDParticleContent() {
		return xsdParticleContentEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDPatternFacet() {
		return xsdPatternFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDPatternFacet_Value() {
		return (EAttribute)xsdPatternFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDRedefinableComponent() {
		return xsdRedefinableComponentEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDRedefinableComponent_Circular() {
		return (EAttribute)xsdRedefinableComponentEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDRedefineContent() {
		return xsdRedefineContentEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDRedefine() {
		return xsdRedefineEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDRedefine_Annotations() {
		return (EReference)xsdRedefineEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDRedefine_Contents() {
		return (EReference)xsdRedefineEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDRepeatableFacet() {
		return xsdRepeatableFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDRepeatableFacet_Annotations() {
		return (EReference)xsdRepeatableFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDSchema() {
		return xsdSchemaEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSchema_Document() {
		return (EAttribute)xsdSchemaEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSchema_SchemaLocation() {
		return (EAttribute)xsdSchemaEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSchema_TargetNamespace() {
		return (EAttribute)xsdSchemaEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSchema_AttributeFormDefault() {
		return (EAttribute)xsdSchemaEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSchema_ElementFormDefault() {
		return (EAttribute)xsdSchemaEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSchema_FinalDefault() {
		return (EAttribute)xsdSchemaEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSchema_BlockDefault() {
		return (EAttribute)xsdSchemaEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSchema_Version() {
		return (EAttribute)xsdSchemaEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_Contents() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_ElementDeclarations() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_AttributeDeclarations() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_AttributeGroupDefinitions() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_TypeDefinitions() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_ModelGroupDefinitions() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_IdentityConstraintDefinitions() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_NotationDeclarations() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(15);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_Annotations() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(16);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_AllDiagnostics() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(17);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_ReferencingDirectives() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(18);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_RootVersion() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(19);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_OriginalVersion() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(20);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_IncorporatedVersions() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(21);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchema_SchemaForSchema() {
		return (EReference)xsdSchemaEClass.getEStructuralFeatures().get(22);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDSchemaCompositor() {
		return xsdSchemaCompositorEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchemaCompositor_IncorporatedSchema() {
		return (EReference)xsdSchemaCompositorEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDSchemaContent() {
		return xsdSchemaContentEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDSchemaDirective() {
		return xsdSchemaDirectiveEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSchemaDirective_SchemaLocation() {
		return (EAttribute)xsdSchemaDirectiveEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSchemaDirective_ResolvedSchema() {
		return (EReference)xsdSchemaDirectiveEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDScope() {
		return xsdScopeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDSimpleTypeDefinition() {
		return xsdSimpleTypeDefinitionEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSimpleTypeDefinition_Variety() {
		return (EAttribute)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSimpleTypeDefinition_Final() {
		return (EAttribute)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSimpleTypeDefinition_LexicalFinal() {
		return (EAttribute)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDSimpleTypeDefinition_ValidFacets() {
		return (EAttribute)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_Contents() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_FacetContents() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_Facets() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_MemberTypeDefinitions() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_FundamentalFacets() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_BaseTypeDefinition() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_PrimitiveTypeDefinition() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_ItemTypeDefinition() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_RootTypeDefinition() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_MinFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_MaxFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_MaxInclusiveFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(15);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_MinInclusiveFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(16);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_MinExclusiveFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(17);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_MaxExclusiveFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(18);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_LengthFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(19);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_WhiteSpaceFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(20);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_EnumerationFacets() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(21);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_PatternFacets() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(22);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_CardinalityFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(23);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_NumericFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(24);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_MaxLengthFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(25);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_MinLengthFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(26);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_TotalDigitsFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(27);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_FractionDigitsFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(28);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_OrderedFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(29);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_BoundedFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(30);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_EffectiveMaxFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(31);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_EffectiveWhiteSpaceFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(32);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_EffectiveMaxLengthFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(33);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_EffectiveFractionDigitsFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(34);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_EffectivePatternFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(35);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_EffectiveEnumerationFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(36);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_EffectiveTotalDigitsFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(37);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_EffectiveMinLengthFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(38);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_EffectiveLengthFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(39);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_EffectiveMinFacet() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(40);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDSimpleTypeDefinition_SyntheticFacets() {
		return (EReference)xsdSimpleTypeDefinitionEClass.getEStructuralFeatures().get(41);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDTerm() {
		return xsdTermEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDTotalDigitsFacet() {
		return xsdTotalDigitsFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDTotalDigitsFacet_Value() {
		return (EAttribute)xsdTotalDigitsFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDTypeDefinition() {
		return xsdTypeDefinitionEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDTypeDefinition_Annotation() {
		return (EReference)xsdTypeDefinitionEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDTypeDefinition_DerivationAnnotation() {
		return (EReference)xsdTypeDefinitionEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDTypeDefinition_Annotations() {
		return (EReference)xsdTypeDefinitionEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDTypeDefinition_RootType() {
		return (EReference)xsdTypeDefinitionEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDTypeDefinition_BaseType() {
		return (EReference)xsdTypeDefinitionEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDTypeDefinition_SimpleType() {
		return (EReference)xsdTypeDefinitionEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDTypeDefinition_ComplexType() {
		return (EReference)xsdTypeDefinitionEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDWhiteSpaceFacet() {
		return xsdWhiteSpaceFacetEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDWhiteSpaceFacet_Value() {
		return (EAttribute)xsdWhiteSpaceFacetEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDWildcard() {
		return xsdWildcardEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDWildcard_NamespaceConstraintCategory() {
		return (EAttribute)xsdWildcardEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDWildcard_NamespaceConstraint() {
		return (EAttribute)xsdWildcardEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDWildcard_ProcessContents() {
		return (EAttribute)xsdWildcardEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDWildcard_LexicalNamespaceConstraint() {
		return (EAttribute)xsdWildcardEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDWildcard_Annotation() {
		return (EReference)xsdWildcardEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDWildcard_Annotations() {
		return (EReference)xsdWildcardEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getXSDXPathDefinition() {
		return xsdxPathDefinitionEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDXPathDefinition_Variety() {
		return (EAttribute)xsdxPathDefinitionEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getXSDXPathDefinition_Value() {
		return (EAttribute)xsdxPathDefinitionEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getXSDXPathDefinition_Annotation() {
		return (EReference)xsdxPathDefinitionEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDAttributeUseCategory() {
		return xsdAttributeUseCategoryEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDCardinality() {
		return xsdCardinalityEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDComplexFinal() {
		return xsdComplexFinalEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDCompositor() {
		return xsdCompositorEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDConstraint() {
		return xsdConstraintEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDContentTypeCategory() {
		return xsdContentTypeCategoryEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDDerivationMethod() {
		return xsdDerivationMethodEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDDiagnosticSeverity() {
		return xsdDiagnosticSeverityEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDDisallowedSubstitutions() {
		return xsdDisallowedSubstitutionsEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDForm() {
		return xsdFormEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDIdentityConstraintCategory() {
		return xsdIdentityConstraintCategoryEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDNamespaceConstraintCategory() {
		return xsdNamespaceConstraintCategoryEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDOrdered() {
		return xsdOrderedEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDProcessContents() {
		return xsdProcessContentsEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDProhibitedSubstitutions() {
		return xsdProhibitedSubstitutionsEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDSimpleFinal() {
		return xsdSimpleFinalEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDSubstitutionGroupExclusions() {
		return xsdSubstitutionGroupExclusionsEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDVariety() {
		return xsdVarietyEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDWhiteSpace() {
		return xsdWhiteSpaceEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EEnum getXSDXPathVariety() {
		return xsdxPathVarietyEEnum;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EDataType getDOMAttr() {
		return domAttrEDataType;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EDataType getDOMDocument() {
		return domDocumentEDataType;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EDataType getDOMElement() {
		return domElementEDataType;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EDataType getDOMNode() {
		return domNodeEDataType;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EDataType getValue() {
		return valueEDataType;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public XsdFactory getXsdFactory() {
		return (XsdFactory)getEFactoryInstance();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isCreated = false;

	/**
	 * Creates the meta-model objects for the package.  This method is
	 * guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void createPackageContents() {
		if (isCreated) return;
		isCreated = true;

		// Create classes and their features
		xsdAnnotationEClass = createEClass(XSD_ANNOTATION);
		createEAttribute(xsdAnnotationEClass, XSD_ANNOTATION__APPLICATION_INFORMATION);
		createEAttribute(xsdAnnotationEClass, XSD_ANNOTATION__USER_INFORMATION);
		createEAttribute(xsdAnnotationEClass, XSD_ANNOTATION__ATTRIBUTES);

		xsdAttributeDeclarationEClass = createEClass(XSD_ATTRIBUTE_DECLARATION);
		createEAttribute(xsdAttributeDeclarationEClass, XSD_ATTRIBUTE_DECLARATION__ATTRIBUTE_DECLARATION_REFERENCE);
		createEReference(xsdAttributeDeclarationEClass, XSD_ATTRIBUTE_DECLARATION__ANNOTATION);
		createEReference(xsdAttributeDeclarationEClass, XSD_ATTRIBUTE_DECLARATION__ANONYMOUS_TYPE_DEFINITION);
		createEReference(xsdAttributeDeclarationEClass, XSD_ATTRIBUTE_DECLARATION__TYPE_DEFINITION);
		createEReference(xsdAttributeDeclarationEClass, XSD_ATTRIBUTE_DECLARATION__RESOLVED_ATTRIBUTE_DECLARATION);

		xsdAttributeGroupContentEClass = createEClass(XSD_ATTRIBUTE_GROUP_CONTENT);

		xsdAttributeGroupDefinitionEClass = createEClass(XSD_ATTRIBUTE_GROUP_DEFINITION);
		createEAttribute(xsdAttributeGroupDefinitionEClass, XSD_ATTRIBUTE_GROUP_DEFINITION__ATTRIBUTE_GROUP_DEFINITION_REFERENCE);
		createEReference(xsdAttributeGroupDefinitionEClass, XSD_ATTRIBUTE_GROUP_DEFINITION__ANNOTATION);
		createEReference(xsdAttributeGroupDefinitionEClass, XSD_ATTRIBUTE_GROUP_DEFINITION__CONTENTS);
		createEReference(xsdAttributeGroupDefinitionEClass, XSD_ATTRIBUTE_GROUP_DEFINITION__ATTRIBUTE_USES);
		createEReference(xsdAttributeGroupDefinitionEClass, XSD_ATTRIBUTE_GROUP_DEFINITION__ATTRIBUTE_WILDCARD_CONTENT);
		createEReference(xsdAttributeGroupDefinitionEClass, XSD_ATTRIBUTE_GROUP_DEFINITION__ATTRIBUTE_WILDCARD);
		createEReference(xsdAttributeGroupDefinitionEClass, XSD_ATTRIBUTE_GROUP_DEFINITION__RESOLVED_ATTRIBUTE_GROUP_DEFINITION);
		createEReference(xsdAttributeGroupDefinitionEClass, XSD_ATTRIBUTE_GROUP_DEFINITION__SYNTHETIC_WILDCARD);

		xsdAttributeUseEClass = createEClass(XSD_ATTRIBUTE_USE);
		createEAttribute(xsdAttributeUseEClass, XSD_ATTRIBUTE_USE__REQUIRED);
		createEAttribute(xsdAttributeUseEClass, XSD_ATTRIBUTE_USE__VALUE);
		createEAttribute(xsdAttributeUseEClass, XSD_ATTRIBUTE_USE__CONSTRAINT);
		createEAttribute(xsdAttributeUseEClass, XSD_ATTRIBUTE_USE__USE);
		createEAttribute(xsdAttributeUseEClass, XSD_ATTRIBUTE_USE__LEXICAL_VALUE);
		createEReference(xsdAttributeUseEClass, XSD_ATTRIBUTE_USE__ATTRIBUTE_DECLARATION);
		createEReference(xsdAttributeUseEClass, XSD_ATTRIBUTE_USE__CONTENT);

		xsdBoundedFacetEClass = createEClass(XSD_BOUNDED_FACET);
		createEAttribute(xsdBoundedFacetEClass, XSD_BOUNDED_FACET__VALUE);

		xsdCardinalityFacetEClass = createEClass(XSD_CARDINALITY_FACET);
		createEAttribute(xsdCardinalityFacetEClass, XSD_CARDINALITY_FACET__VALUE);

		xsdComplexTypeContentEClass = createEClass(XSD_COMPLEX_TYPE_CONTENT);

		xsdComplexTypeDefinitionEClass = createEClass(XSD_COMPLEX_TYPE_DEFINITION);
		createEAttribute(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__DERIVATION_METHOD);
		createEAttribute(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__FINAL);
		createEAttribute(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__ABSTRACT);
		createEAttribute(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__CONTENT_TYPE_CATEGORY);
		createEAttribute(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__PROHIBITED_SUBSTITUTIONS);
		createEAttribute(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__LEXICAL_FINAL);
		createEAttribute(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__BLOCK);
		createEAttribute(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__MIXED);
		createEReference(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__CONTENT_ANNOTATION);
		createEReference(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__BASE_TYPE_DEFINITION);
		createEReference(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__CONTENT);
		createEReference(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__CONTENT_TYPE);
		createEReference(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__ATTRIBUTE_USES);
		createEReference(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__ATTRIBUTE_CONTENTS);
		createEReference(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__ATTRIBUTE_WILDCARD);
		createEReference(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__ATTRIBUTE_WILDCARD_CONTENT);
		createEReference(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__ROOT_TYPE_DEFINITION);
		createEReference(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__SYNTHETIC_PARTICLE);
		createEReference(xsdComplexTypeDefinitionEClass, XSD_COMPLEX_TYPE_DEFINITION__SYNTHETIC_WILDCARD);

		xsdComponentEClass = createEClass(XSD_COMPONENT);

		xsdConcreteComponentEClass = createEClass(XSD_CONCRETE_COMPONENT);
		createEAttribute(xsdConcreteComponentEClass, XSD_CONCRETE_COMPONENT__ELEMENT);
		createEReference(xsdConcreteComponentEClass, XSD_CONCRETE_COMPONENT__CONTAINER);
		createEReference(xsdConcreteComponentEClass, XSD_CONCRETE_COMPONENT__ROOT_CONTAINER);
		createEReference(xsdConcreteComponentEClass, XSD_CONCRETE_COMPONENT__SCHEMA);
		createEReference(xsdConcreteComponentEClass, XSD_CONCRETE_COMPONENT__DIAGNOSTICS);

		xsdConstrainingFacetEClass = createEClass(XSD_CONSTRAINING_FACET);

		xsdDiagnosticEClass = createEClass(XSD_DIAGNOSTIC);
		createEAttribute(xsdDiagnosticEClass, XSD_DIAGNOSTIC__SEVERITY);
		createEAttribute(xsdDiagnosticEClass, XSD_DIAGNOSTIC__MESSAGE);
		createEAttribute(xsdDiagnosticEClass, XSD_DIAGNOSTIC__LOCATION_URI);
		createEAttribute(xsdDiagnosticEClass, XSD_DIAGNOSTIC__LINE);
		createEAttribute(xsdDiagnosticEClass, XSD_DIAGNOSTIC__COLUMN);
		createEAttribute(xsdDiagnosticEClass, XSD_DIAGNOSTIC__NODE);
		createEAttribute(xsdDiagnosticEClass, XSD_DIAGNOSTIC__ANNOTATION_URI);
		createEAttribute(xsdDiagnosticEClass, XSD_DIAGNOSTIC__KEY);
		createEAttribute(xsdDiagnosticEClass, XSD_DIAGNOSTIC__SUBSTITUTIONS);
		createEReference(xsdDiagnosticEClass, XSD_DIAGNOSTIC__COMPONENTS);
		createEReference(xsdDiagnosticEClass, XSD_DIAGNOSTIC__PRIMARY_COMPONENT);

		xsdElementDeclarationEClass = createEClass(XSD_ELEMENT_DECLARATION);
		createEAttribute(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__NILLABLE);
		createEAttribute(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__DISALLOWED_SUBSTITUTIONS);
		createEAttribute(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__SUBSTITUTION_GROUP_EXCLUSIONS);
		createEAttribute(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__ABSTRACT);
		createEAttribute(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__LEXICAL_FINAL);
		createEAttribute(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__BLOCK);
		createEAttribute(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__ELEMENT_DECLARATION_REFERENCE);
		createEAttribute(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__CIRCULAR);
		createEReference(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__ANNOTATION);
		createEReference(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__ANONYMOUS_TYPE_DEFINITION);
		createEReference(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__TYPE_DEFINITION);
		createEReference(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__IDENTITY_CONSTRAINT_DEFINITIONS);
		createEReference(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__RESOLVED_ELEMENT_DECLARATION);
		createEReference(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__SUBSTITUTION_GROUP_AFFILIATION);
		createEReference(xsdElementDeclarationEClass, XSD_ELEMENT_DECLARATION__SUBSTITUTION_GROUP);

		xsdEnumerationFacetEClass = createEClass(XSD_ENUMERATION_FACET);
		createEAttribute(xsdEnumerationFacetEClass, XSD_ENUMERATION_FACET__VALUE);

		xsdFacetEClass = createEClass(XSD_FACET);
		createEAttribute(xsdFacetEClass, XSD_FACET__LEXICAL_VALUE);
		createEAttribute(xsdFacetEClass, XSD_FACET__FACET_NAME);
		createEAttribute(xsdFacetEClass, XSD_FACET__EFFECTIVE_VALUE);
		createEReference(xsdFacetEClass, XSD_FACET__ANNOTATION);
		createEReference(xsdFacetEClass, XSD_FACET__SIMPLE_TYPE_DEFINITION);

		xsdFeatureEClass = createEClass(XSD_FEATURE);
		createEAttribute(xsdFeatureEClass, XSD_FEATURE__VALUE);
		createEAttribute(xsdFeatureEClass, XSD_FEATURE__CONSTRAINT);
		createEAttribute(xsdFeatureEClass, XSD_FEATURE__FORM);
		createEAttribute(xsdFeatureEClass, XSD_FEATURE__LEXICAL_VALUE);
		createEAttribute(xsdFeatureEClass, XSD_FEATURE__GLOBAL);
		createEAttribute(xsdFeatureEClass, XSD_FEATURE__FEATURE_REFERENCE);
		createEReference(xsdFeatureEClass, XSD_FEATURE__SCOPE);
		createEReference(xsdFeatureEClass, XSD_FEATURE__RESOLVED_FEATURE);
		createEReference(xsdFeatureEClass, XSD_FEATURE__TYPE);

		xsdFixedFacetEClass = createEClass(XSD_FIXED_FACET);
		createEAttribute(xsdFixedFacetEClass, XSD_FIXED_FACET__FIXED);

		xsdFractionDigitsFacetEClass = createEClass(XSD_FRACTION_DIGITS_FACET);
		createEAttribute(xsdFractionDigitsFacetEClass, XSD_FRACTION_DIGITS_FACET__VALUE);

		xsdFundamentalFacetEClass = createEClass(XSD_FUNDAMENTAL_FACET);

		xsdIdentityConstraintDefinitionEClass = createEClass(XSD_IDENTITY_CONSTRAINT_DEFINITION);
		createEAttribute(xsdIdentityConstraintDefinitionEClass, XSD_IDENTITY_CONSTRAINT_DEFINITION__IDENTITY_CONSTRAINT_CATEGORY);
		createEReference(xsdIdentityConstraintDefinitionEClass, XSD_IDENTITY_CONSTRAINT_DEFINITION__ANNOTATION);
		createEReference(xsdIdentityConstraintDefinitionEClass, XSD_IDENTITY_CONSTRAINT_DEFINITION__REFERENCED_KEY);
		createEReference(xsdIdentityConstraintDefinitionEClass, XSD_IDENTITY_CONSTRAINT_DEFINITION__SELECTOR);
		createEReference(xsdIdentityConstraintDefinitionEClass, XSD_IDENTITY_CONSTRAINT_DEFINITION__FIELDS);

		xsdImportEClass = createEClass(XSD_IMPORT);
		createEAttribute(xsdImportEClass, XSD_IMPORT__NAMESPACE);
		createEReference(xsdImportEClass, XSD_IMPORT__ANNOTATION);

		xsdIncludeEClass = createEClass(XSD_INCLUDE);
		createEReference(xsdIncludeEClass, XSD_INCLUDE__ANNOTATION);

		xsdLengthFacetEClass = createEClass(XSD_LENGTH_FACET);
		createEAttribute(xsdLengthFacetEClass, XSD_LENGTH_FACET__VALUE);

		xsdMaxExclusiveFacetEClass = createEClass(XSD_MAX_EXCLUSIVE_FACET);

		xsdMaxFacetEClass = createEClass(XSD_MAX_FACET);
		createEAttribute(xsdMaxFacetEClass, XSD_MAX_FACET__VALUE);
		createEAttribute(xsdMaxFacetEClass, XSD_MAX_FACET__INCLUSIVE);
		createEAttribute(xsdMaxFacetEClass, XSD_MAX_FACET__EXCLUSIVE);

		xsdMaxInclusiveFacetEClass = createEClass(XSD_MAX_INCLUSIVE_FACET);

		xsdMaxLengthFacetEClass = createEClass(XSD_MAX_LENGTH_FACET);
		createEAttribute(xsdMaxLengthFacetEClass, XSD_MAX_LENGTH_FACET__VALUE);

		xsdMinExclusiveFacetEClass = createEClass(XSD_MIN_EXCLUSIVE_FACET);

		xsdMinFacetEClass = createEClass(XSD_MIN_FACET);
		createEAttribute(xsdMinFacetEClass, XSD_MIN_FACET__VALUE);
		createEAttribute(xsdMinFacetEClass, XSD_MIN_FACET__INCLUSIVE);
		createEAttribute(xsdMinFacetEClass, XSD_MIN_FACET__EXCLUSIVE);

		xsdMinInclusiveFacetEClass = createEClass(XSD_MIN_INCLUSIVE_FACET);

		xsdMinLengthFacetEClass = createEClass(XSD_MIN_LENGTH_FACET);
		createEAttribute(xsdMinLengthFacetEClass, XSD_MIN_LENGTH_FACET__VALUE);

		xsdModelGroupEClass = createEClass(XSD_MODEL_GROUP);
		createEAttribute(xsdModelGroupEClass, XSD_MODEL_GROUP__COMPOSITOR);
		createEReference(xsdModelGroupEClass, XSD_MODEL_GROUP__ANNOTATION);
		createEReference(xsdModelGroupEClass, XSD_MODEL_GROUP__CONTENTS);
		createEReference(xsdModelGroupEClass, XSD_MODEL_GROUP__PARTICLES);

		xsdModelGroupDefinitionEClass = createEClass(XSD_MODEL_GROUP_DEFINITION);
		createEAttribute(xsdModelGroupDefinitionEClass, XSD_MODEL_GROUP_DEFINITION__MODEL_GROUP_DEFINITION_REFERENCE);
		createEReference(xsdModelGroupDefinitionEClass, XSD_MODEL_GROUP_DEFINITION__ANNOTATION);
		createEReference(xsdModelGroupDefinitionEClass, XSD_MODEL_GROUP_DEFINITION__MODEL_GROUP);
		createEReference(xsdModelGroupDefinitionEClass, XSD_MODEL_GROUP_DEFINITION__RESOLVED_MODEL_GROUP_DEFINITION);

		xsdNamedComponentEClass = createEClass(XSD_NAMED_COMPONENT);
		createEAttribute(xsdNamedComponentEClass, XSD_NAMED_COMPONENT__NAME);
		createEAttribute(xsdNamedComponentEClass, XSD_NAMED_COMPONENT__TARGET_NAMESPACE);
		createEAttribute(xsdNamedComponentEClass, XSD_NAMED_COMPONENT__ALIAS_NAME);
		createEAttribute(xsdNamedComponentEClass, XSD_NAMED_COMPONENT__URI);
		createEAttribute(xsdNamedComponentEClass, XSD_NAMED_COMPONENT__ALIAS_URI);
		createEAttribute(xsdNamedComponentEClass, XSD_NAMED_COMPONENT__QNAME);

		xsdNotationDeclarationEClass = createEClass(XSD_NOTATION_DECLARATION);
		createEAttribute(xsdNotationDeclarationEClass, XSD_NOTATION_DECLARATION__SYSTEM_IDENTIFIER);
		createEAttribute(xsdNotationDeclarationEClass, XSD_NOTATION_DECLARATION__PUBLIC_IDENTIFIER);
		createEReference(xsdNotationDeclarationEClass, XSD_NOTATION_DECLARATION__ANNOTATION);

		xsdNumericFacetEClass = createEClass(XSD_NUMERIC_FACET);
		createEAttribute(xsdNumericFacetEClass, XSD_NUMERIC_FACET__VALUE);

		xsdOrderedFacetEClass = createEClass(XSD_ORDERED_FACET);
		createEAttribute(xsdOrderedFacetEClass, XSD_ORDERED_FACET__VALUE);

		xsdParticleEClass = createEClass(XSD_PARTICLE);
		createEAttribute(xsdParticleEClass, XSD_PARTICLE__MIN_OCCURS);
		createEAttribute(xsdParticleEClass, XSD_PARTICLE__MAX_OCCURS);
		createEReference(xsdParticleEClass, XSD_PARTICLE__CONTENT);
		createEReference(xsdParticleEClass, XSD_PARTICLE__TERM);

		xsdParticleContentEClass = createEClass(XSD_PARTICLE_CONTENT);

		xsdPatternFacetEClass = createEClass(XSD_PATTERN_FACET);
		createEAttribute(xsdPatternFacetEClass, XSD_PATTERN_FACET__VALUE);

		xsdRedefinableComponentEClass = createEClass(XSD_REDEFINABLE_COMPONENT);
		createEAttribute(xsdRedefinableComponentEClass, XSD_REDEFINABLE_COMPONENT__CIRCULAR);

		xsdRedefineContentEClass = createEClass(XSD_REDEFINE_CONTENT);

		xsdRedefineEClass = createEClass(XSD_REDEFINE);
		createEReference(xsdRedefineEClass, XSD_REDEFINE__ANNOTATIONS);
		createEReference(xsdRedefineEClass, XSD_REDEFINE__CONTENTS);

		xsdRepeatableFacetEClass = createEClass(XSD_REPEATABLE_FACET);
		createEReference(xsdRepeatableFacetEClass, XSD_REPEATABLE_FACET__ANNOTATIONS);

		xsdSchemaEClass = createEClass(XSD_SCHEMA);
		createEAttribute(xsdSchemaEClass, XSD_SCHEMA__DOCUMENT);
		createEAttribute(xsdSchemaEClass, XSD_SCHEMA__SCHEMA_LOCATION);
		createEAttribute(xsdSchemaEClass, XSD_SCHEMA__TARGET_NAMESPACE);
		createEAttribute(xsdSchemaEClass, XSD_SCHEMA__ATTRIBUTE_FORM_DEFAULT);
		createEAttribute(xsdSchemaEClass, XSD_SCHEMA__ELEMENT_FORM_DEFAULT);
		createEAttribute(xsdSchemaEClass, XSD_SCHEMA__FINAL_DEFAULT);
		createEAttribute(xsdSchemaEClass, XSD_SCHEMA__BLOCK_DEFAULT);
		createEAttribute(xsdSchemaEClass, XSD_SCHEMA__VERSION);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__CONTENTS);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__ELEMENT_DECLARATIONS);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__ATTRIBUTE_DECLARATIONS);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__ATTRIBUTE_GROUP_DEFINITIONS);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__TYPE_DEFINITIONS);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__MODEL_GROUP_DEFINITIONS);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__IDENTITY_CONSTRAINT_DEFINITIONS);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__NOTATION_DECLARATIONS);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__ANNOTATIONS);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__ALL_DIAGNOSTICS);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__REFERENCING_DIRECTIVES);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__ROOT_VERSION);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__ORIGINAL_VERSION);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__INCORPORATED_VERSIONS);
		createEReference(xsdSchemaEClass, XSD_SCHEMA__SCHEMA_FOR_SCHEMA);

		xsdSchemaCompositorEClass = createEClass(XSD_SCHEMA_COMPOSITOR);
		createEReference(xsdSchemaCompositorEClass, XSD_SCHEMA_COMPOSITOR__INCORPORATED_SCHEMA);

		xsdSchemaContentEClass = createEClass(XSD_SCHEMA_CONTENT);

		xsdSchemaDirectiveEClass = createEClass(XSD_SCHEMA_DIRECTIVE);
		createEAttribute(xsdSchemaDirectiveEClass, XSD_SCHEMA_DIRECTIVE__SCHEMA_LOCATION);
		createEReference(xsdSchemaDirectiveEClass, XSD_SCHEMA_DIRECTIVE__RESOLVED_SCHEMA);

		xsdScopeEClass = createEClass(XSD_SCOPE);

		xsdSimpleTypeDefinitionEClass = createEClass(XSD_SIMPLE_TYPE_DEFINITION);
		createEAttribute(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__VARIETY);
		createEAttribute(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__FINAL);
		createEAttribute(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__LEXICAL_FINAL);
		createEAttribute(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__VALID_FACETS);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__CONTENTS);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__FACET_CONTENTS);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__FACETS);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__MEMBER_TYPE_DEFINITIONS);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__FUNDAMENTAL_FACETS);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__BASE_TYPE_DEFINITION);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__PRIMITIVE_TYPE_DEFINITION);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__ITEM_TYPE_DEFINITION);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__ROOT_TYPE_DEFINITION);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__MIN_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__MAX_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__MAX_INCLUSIVE_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__MIN_INCLUSIVE_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__MIN_EXCLUSIVE_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__MAX_EXCLUSIVE_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__LENGTH_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__WHITE_SPACE_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__ENUMERATION_FACETS);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__PATTERN_FACETS);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__CARDINALITY_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__NUMERIC_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__MAX_LENGTH_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__MIN_LENGTH_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__TOTAL_DIGITS_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__FRACTION_DIGITS_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__ORDERED_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__BOUNDED_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__EFFECTIVE_MAX_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__EFFECTIVE_WHITE_SPACE_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__EFFECTIVE_MAX_LENGTH_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__EFFECTIVE_FRACTION_DIGITS_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__EFFECTIVE_PATTERN_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__EFFECTIVE_ENUMERATION_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__EFFECTIVE_TOTAL_DIGITS_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__EFFECTIVE_MIN_LENGTH_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__EFFECTIVE_LENGTH_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__EFFECTIVE_MIN_FACET);
		createEReference(xsdSimpleTypeDefinitionEClass, XSD_SIMPLE_TYPE_DEFINITION__SYNTHETIC_FACETS);

		xsdTermEClass = createEClass(XSD_TERM);

		xsdTotalDigitsFacetEClass = createEClass(XSD_TOTAL_DIGITS_FACET);
		createEAttribute(xsdTotalDigitsFacetEClass, XSD_TOTAL_DIGITS_FACET__VALUE);

		xsdTypeDefinitionEClass = createEClass(XSD_TYPE_DEFINITION);
		createEReference(xsdTypeDefinitionEClass, XSD_TYPE_DEFINITION__ANNOTATION);
		createEReference(xsdTypeDefinitionEClass, XSD_TYPE_DEFINITION__DERIVATION_ANNOTATION);
		createEReference(xsdTypeDefinitionEClass, XSD_TYPE_DEFINITION__ANNOTATIONS);
		createEReference(xsdTypeDefinitionEClass, XSD_TYPE_DEFINITION__ROOT_TYPE);
		createEReference(xsdTypeDefinitionEClass, XSD_TYPE_DEFINITION__BASE_TYPE);
		createEReference(xsdTypeDefinitionEClass, XSD_TYPE_DEFINITION__SIMPLE_TYPE);
		createEReference(xsdTypeDefinitionEClass, XSD_TYPE_DEFINITION__COMPLEX_TYPE);

		xsdWhiteSpaceFacetEClass = createEClass(XSD_WHITE_SPACE_FACET);
		createEAttribute(xsdWhiteSpaceFacetEClass, XSD_WHITE_SPACE_FACET__VALUE);

		xsdWildcardEClass = createEClass(XSD_WILDCARD);
		createEAttribute(xsdWildcardEClass, XSD_WILDCARD__NAMESPACE_CONSTRAINT_CATEGORY);
		createEAttribute(xsdWildcardEClass, XSD_WILDCARD__NAMESPACE_CONSTRAINT);
		createEAttribute(xsdWildcardEClass, XSD_WILDCARD__PROCESS_CONTENTS);
		createEAttribute(xsdWildcardEClass, XSD_WILDCARD__LEXICAL_NAMESPACE_CONSTRAINT);
		createEReference(xsdWildcardEClass, XSD_WILDCARD__ANNOTATION);
		createEReference(xsdWildcardEClass, XSD_WILDCARD__ANNOTATIONS);

		xsdxPathDefinitionEClass = createEClass(XSDX_PATH_DEFINITION);
		createEAttribute(xsdxPathDefinitionEClass, XSDX_PATH_DEFINITION__VARIETY);
		createEAttribute(xsdxPathDefinitionEClass, XSDX_PATH_DEFINITION__VALUE);
		createEReference(xsdxPathDefinitionEClass, XSDX_PATH_DEFINITION__ANNOTATION);

		// Create enums
		xsdAttributeUseCategoryEEnum = createEEnum(XSD_ATTRIBUTE_USE_CATEGORY);
		xsdCardinalityEEnum = createEEnum(XSD_CARDINALITY);
		xsdComplexFinalEEnum = createEEnum(XSD_COMPLEX_FINAL);
		xsdCompositorEEnum = createEEnum(XSD_COMPOSITOR);
		xsdConstraintEEnum = createEEnum(XSD_CONSTRAINT);
		xsdContentTypeCategoryEEnum = createEEnum(XSD_CONTENT_TYPE_CATEGORY);
		xsdDerivationMethodEEnum = createEEnum(XSD_DERIVATION_METHOD);
		xsdDiagnosticSeverityEEnum = createEEnum(XSD_DIAGNOSTIC_SEVERITY);
		xsdDisallowedSubstitutionsEEnum = createEEnum(XSD_DISALLOWED_SUBSTITUTIONS);
		xsdFormEEnum = createEEnum(XSD_FORM);
		xsdIdentityConstraintCategoryEEnum = createEEnum(XSD_IDENTITY_CONSTRAINT_CATEGORY);
		xsdNamespaceConstraintCategoryEEnum = createEEnum(XSD_NAMESPACE_CONSTRAINT_CATEGORY);
		xsdOrderedEEnum = createEEnum(XSD_ORDERED);
		xsdProcessContentsEEnum = createEEnum(XSD_PROCESS_CONTENTS);
		xsdProhibitedSubstitutionsEEnum = createEEnum(XSD_PROHIBITED_SUBSTITUTIONS);
		xsdSimpleFinalEEnum = createEEnum(XSD_SIMPLE_FINAL);
		xsdSubstitutionGroupExclusionsEEnum = createEEnum(XSD_SUBSTITUTION_GROUP_EXCLUSIONS);
		xsdVarietyEEnum = createEEnum(XSD_VARIETY);
		xsdWhiteSpaceEEnum = createEEnum(XSD_WHITE_SPACE);
		xsdxPathVarietyEEnum = createEEnum(XSDX_PATH_VARIETY);

		// Create data types
		domAttrEDataType = createEDataType(DOM_ATTR);
		domDocumentEDataType = createEDataType(DOM_DOCUMENT);
		domElementEDataType = createEDataType(DOM_ELEMENT);
		domNodeEDataType = createEDataType(DOM_NODE);
		valueEDataType = createEDataType(VALUE);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isInitialized = false;

	/**
	 * Complete the initialization of the package and its meta-model.  This
	 * method is guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void initializePackageContents() {
		if (isInitialized) return;
		isInitialized = true;

		// Initialize package
		setName(eNAME);
		setNsPrefix(eNS_PREFIX);
		setNsURI(eNS_URI);

		// Create type parameters

		// Set bounds for type parameters

		// Add supertypes to classes
		xsdAnnotationEClass.getESuperTypes().add(this.getXSDComponent());
		xsdAnnotationEClass.getESuperTypes().add(this.getXSDRedefineContent());
		xsdAttributeDeclarationEClass.getESuperTypes().add(this.getXSDFeature());
		xsdAttributeDeclarationEClass.getESuperTypes().add(this.getXSDSchemaContent());
		xsdAttributeGroupContentEClass.getESuperTypes().add(this.getXSDConcreteComponent());
		xsdAttributeGroupDefinitionEClass.getESuperTypes().add(this.getXSDRedefinableComponent());
		xsdAttributeGroupDefinitionEClass.getESuperTypes().add(this.getXSDAttributeGroupContent());
		xsdAttributeGroupDefinitionEClass.getESuperTypes().add(this.getXSDRedefineContent());
		xsdAttributeUseEClass.getESuperTypes().add(this.getXSDComponent());
		xsdAttributeUseEClass.getESuperTypes().add(this.getXSDAttributeGroupContent());
		xsdBoundedFacetEClass.getESuperTypes().add(this.getXSDFundamentalFacet());
		xsdCardinalityFacetEClass.getESuperTypes().add(this.getXSDFundamentalFacet());
		xsdComplexTypeContentEClass.getESuperTypes().add(this.getXSDComponent());
		xsdComplexTypeDefinitionEClass.getESuperTypes().add(this.getXSDTypeDefinition());
		xsdComplexTypeDefinitionEClass.getESuperTypes().add(this.getXSDScope());
		xsdComponentEClass.getESuperTypes().add(this.getXSDConcreteComponent());
		xsdConstrainingFacetEClass.getESuperTypes().add(this.getXSDFacet());
		xsdDiagnosticEClass.getESuperTypes().add(this.getXSDConcreteComponent());
		xsdElementDeclarationEClass.getESuperTypes().add(this.getXSDFeature());
		xsdElementDeclarationEClass.getESuperTypes().add(this.getXSDSchemaContent());
		xsdElementDeclarationEClass.getESuperTypes().add(this.getXSDTerm());
		xsdEnumerationFacetEClass.getESuperTypes().add(this.getXSDRepeatableFacet());
		xsdFacetEClass.getESuperTypes().add(this.getXSDComponent());
		xsdFeatureEClass.getESuperTypes().add(this.getXSDNamedComponent());
		xsdFixedFacetEClass.getESuperTypes().add(this.getXSDConstrainingFacet());
		xsdFractionDigitsFacetEClass.getESuperTypes().add(this.getXSDFixedFacet());
		xsdFundamentalFacetEClass.getESuperTypes().add(this.getXSDFacet());
		xsdIdentityConstraintDefinitionEClass.getESuperTypes().add(this.getXSDNamedComponent());
		xsdImportEClass.getESuperTypes().add(this.getXSDSchemaDirective());
		xsdIncludeEClass.getESuperTypes().add(this.getXSDSchemaCompositor());
		xsdLengthFacetEClass.getESuperTypes().add(this.getXSDFixedFacet());
		xsdMaxExclusiveFacetEClass.getESuperTypes().add(this.getXSDMaxFacet());
		xsdMaxFacetEClass.getESuperTypes().add(this.getXSDFixedFacet());
		xsdMaxInclusiveFacetEClass.getESuperTypes().add(this.getXSDMaxFacet());
		xsdMaxLengthFacetEClass.getESuperTypes().add(this.getXSDFixedFacet());
		xsdMinExclusiveFacetEClass.getESuperTypes().add(this.getXSDMinFacet());
		xsdMinFacetEClass.getESuperTypes().add(this.getXSDFixedFacet());
		xsdMinInclusiveFacetEClass.getESuperTypes().add(this.getXSDMinFacet());
		xsdMinLengthFacetEClass.getESuperTypes().add(this.getXSDFixedFacet());
		xsdModelGroupEClass.getESuperTypes().add(this.getXSDTerm());
		xsdModelGroupDefinitionEClass.getESuperTypes().add(this.getXSDRedefinableComponent());
		xsdModelGroupDefinitionEClass.getESuperTypes().add(this.getXSDParticleContent());
		xsdModelGroupDefinitionEClass.getESuperTypes().add(this.getXSDRedefineContent());
		xsdNamedComponentEClass.getESuperTypes().add(this.getXSDComponent());
		xsdNotationDeclarationEClass.getESuperTypes().add(this.getXSDNamedComponent());
		xsdNotationDeclarationEClass.getESuperTypes().add(this.getXSDSchemaContent());
		xsdNumericFacetEClass.getESuperTypes().add(this.getXSDFundamentalFacet());
		xsdOrderedFacetEClass.getESuperTypes().add(this.getXSDFundamentalFacet());
		xsdParticleEClass.getESuperTypes().add(this.getXSDComplexTypeContent());
		xsdParticleContentEClass.getESuperTypes().add(this.getXSDConcreteComponent());
		xsdPatternFacetEClass.getESuperTypes().add(this.getXSDRepeatableFacet());
		xsdRedefinableComponentEClass.getESuperTypes().add(this.getXSDNamedComponent());
		xsdRedefinableComponentEClass.getESuperTypes().add(this.getXSDRedefineContent());
		xsdRedefineContentEClass.getESuperTypes().add(this.getXSDSchemaContent());
		xsdRedefineEClass.getESuperTypes().add(this.getXSDSchemaCompositor());
		xsdRepeatableFacetEClass.getESuperTypes().add(this.getXSDConstrainingFacet());
		xsdSchemaEClass.getESuperTypes().add(this.getXSDScope());
		xsdSchemaCompositorEClass.getESuperTypes().add(this.getXSDSchemaDirective());
		xsdSchemaContentEClass.getESuperTypes().add(this.getXSDConcreteComponent());
		xsdSchemaDirectiveEClass.getESuperTypes().add(this.getXSDSchemaContent());
		xsdScopeEClass.getESuperTypes().add(this.getXSDComponent());
		xsdSimpleTypeDefinitionEClass.getESuperTypes().add(this.getXSDTypeDefinition());
		xsdSimpleTypeDefinitionEClass.getESuperTypes().add(this.getXSDComplexTypeContent());
		xsdTermEClass.getESuperTypes().add(this.getXSDComponent());
		xsdTermEClass.getESuperTypes().add(this.getXSDParticleContent());
		xsdTotalDigitsFacetEClass.getESuperTypes().add(this.getXSDFixedFacet());
		xsdTypeDefinitionEClass.getESuperTypes().add(this.getXSDRedefinableComponent());
		xsdTypeDefinitionEClass.getESuperTypes().add(this.getXSDRedefineContent());
		xsdWhiteSpaceFacetEClass.getESuperTypes().add(this.getXSDFixedFacet());
		xsdWildcardEClass.getESuperTypes().add(this.getXSDTerm());
		xsdxPathDefinitionEClass.getESuperTypes().add(this.getXSDComponent());

		// Initialize classes and features; add operations and parameters
		initEClass(xsdAnnotationEClass, XSDAnnotation.class, "XSDAnnotation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDAnnotation_ApplicationInformation(), this.getDOMElement(), "applicationInformation", null, 0, -1, XSDAnnotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDAnnotation_UserInformation(), this.getDOMElement(), "userInformation", null, 0, -1, XSDAnnotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDAnnotation_Attributes(), this.getDOMAttr(), "attributes", null, 0, -1, XSDAnnotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdAttributeDeclarationEClass, XSDAttributeDeclaration.class, "XSDAttributeDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDAttributeDeclaration_AttributeDeclarationReference(), ecorePackage.getEBoolean(), "attributeDeclarationReference", null, 0, 1, XSDAttributeDeclaration.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeDeclaration_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDAttributeDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeDeclaration_AnonymousTypeDefinition(), this.getXSDSimpleTypeDefinition(), null, "anonymousTypeDefinition", null, 0, 1, XSDAttributeDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeDeclaration_TypeDefinition(), this.getXSDSimpleTypeDefinition(), null, "typeDefinition", null, 1, 1, XSDAttributeDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeDeclaration_ResolvedAttributeDeclaration(), this.getXSDAttributeDeclaration(), null, "resolvedAttributeDeclaration", null, 1, 1, XSDAttributeDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdAttributeGroupContentEClass, XSDAttributeGroupContent.class, "XSDAttributeGroupContent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdAttributeGroupDefinitionEClass, XSDAttributeGroupDefinition.class, "XSDAttributeGroupDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDAttributeGroupDefinition_AttributeGroupDefinitionReference(), ecorePackage.getEBoolean(), "attributeGroupDefinitionReference", null, 0, 1, XSDAttributeGroupDefinition.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeGroupDefinition_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDAttributeGroupDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeGroupDefinition_Contents(), this.getXSDAttributeGroupContent(), null, "contents", null, 0, -1, XSDAttributeGroupDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeGroupDefinition_AttributeUses(), this.getXSDAttributeUse(), null, "attributeUses", null, 0, -1, XSDAttributeGroupDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeGroupDefinition_AttributeWildcardContent(), this.getXSDWildcard(), null, "attributeWildcardContent", null, 0, 1, XSDAttributeGroupDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeGroupDefinition_AttributeWildcard(), this.getXSDWildcard(), null, "attributeWildcard", null, 0, 1, XSDAttributeGroupDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeGroupDefinition_ResolvedAttributeGroupDefinition(), this.getXSDAttributeGroupDefinition(), null, "resolvedAttributeGroupDefinition", null, 1, 1, XSDAttributeGroupDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeGroupDefinition_SyntheticWildcard(), this.getXSDWildcard(), null, "syntheticWildcard", null, 0, 1, XSDAttributeGroupDefinition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdAttributeUseEClass, XSDAttributeUse.class, "XSDAttributeUse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDAttributeUse_Required(), ecorePackage.getEBoolean(), "required", null, 0, 1, XSDAttributeUse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDAttributeUse_Value(), this.getValue(), "value", null, 0, 1, XSDAttributeUse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDAttributeUse_Constraint(), this.getXSDConstraint(), "constraint", null, 0, 1, XSDAttributeUse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDAttributeUse_Use(), this.getXSDAttributeUseCategory(), "use", null, 0, 1, XSDAttributeUse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDAttributeUse_LexicalValue(), ecorePackage.getEString(), "lexicalValue", null, 0, 1, XSDAttributeUse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeUse_AttributeDeclaration(), this.getXSDAttributeDeclaration(), null, "attributeDeclaration", null, 1, 1, XSDAttributeUse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDAttributeUse_Content(), this.getXSDAttributeDeclaration(), null, "content", null, 1, 1, XSDAttributeUse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdBoundedFacetEClass, XSDBoundedFacet.class, "XSDBoundedFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDBoundedFacet_Value(), ecorePackage.getEBoolean(), "value", null, 0, 1, XSDBoundedFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdCardinalityFacetEClass, XSDCardinalityFacet.class, "XSDCardinalityFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDCardinalityFacet_Value(), this.getXSDCardinality(), "value", null, 0, 1, XSDCardinalityFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdComplexTypeContentEClass, XSDComplexTypeContent.class, "XSDComplexTypeContent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdComplexTypeDefinitionEClass, XSDComplexTypeDefinition.class, "XSDComplexTypeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDComplexTypeDefinition_DerivationMethod(), this.getXSDDerivationMethod(), "derivationMethod", "restriction", 0, 1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDComplexTypeDefinition_Final(), this.getXSDComplexFinal(), "final", null, 0, -1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDComplexTypeDefinition_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDComplexTypeDefinition_ContentTypeCategory(), this.getXSDContentTypeCategory(), "contentTypeCategory", null, 0, 1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDComplexTypeDefinition_ProhibitedSubstitutions(), this.getXSDProhibitedSubstitutions(), "prohibitedSubstitutions", null, 0, -1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDComplexTypeDefinition_LexicalFinal(), this.getXSDComplexFinal(), "lexicalFinal", null, 0, -1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDComplexTypeDefinition_Block(), this.getXSDProhibitedSubstitutions(), "block", null, 0, -1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDComplexTypeDefinition_Mixed(), ecorePackage.getEBoolean(), "mixed", null, 0, 1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDComplexTypeDefinition_ContentAnnotation(), this.getXSDAnnotation(), null, "contentAnnotation", null, 0, 1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDComplexTypeDefinition_BaseTypeDefinition(), this.getXSDTypeDefinition(), null, "baseTypeDefinition", null, 1, 1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDComplexTypeDefinition_Content(), this.getXSDComplexTypeContent(), null, "content", null, 0, 1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDComplexTypeDefinition_ContentType(), this.getXSDComplexTypeContent(), null, "contentType", null, 0, 1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDComplexTypeDefinition_AttributeUses(), this.getXSDAttributeUse(), null, "attributeUses", null, 0, -1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDComplexTypeDefinition_AttributeContents(), this.getXSDAttributeGroupContent(), null, "attributeContents", null, 0, -1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDComplexTypeDefinition_AttributeWildcard(), this.getXSDWildcard(), null, "attributeWildcard", null, 0, 1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDComplexTypeDefinition_AttributeWildcardContent(), this.getXSDWildcard(), null, "attributeWildcardContent", null, 0, 1, XSDComplexTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDComplexTypeDefinition_RootTypeDefinition(), this.getXSDTypeDefinition(), null, "rootTypeDefinition", null, 1, 1, XSDComplexTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDComplexTypeDefinition_SyntheticParticle(), this.getXSDParticle(), null, "syntheticParticle", null, 0, 1, XSDComplexTypeDefinition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDComplexTypeDefinition_SyntheticWildcard(), this.getXSDWildcard(), null, "syntheticWildcard", null, 0, 1, XSDComplexTypeDefinition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdComponentEClass, XSDComponent.class, "XSDComponent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdConcreteComponentEClass, XSDConcreteComponent.class, "XSDConcreteComponent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDConcreteComponent_Element(), this.getDOMElement(), "element", null, 0, 1, XSDConcreteComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDConcreteComponent_Container(), this.getXSDConcreteComponent(), null, "container", null, 0, 1, XSDConcreteComponent.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDConcreteComponent_RootContainer(), this.getXSDConcreteComponent(), null, "rootContainer", null, 1, 1, XSDConcreteComponent.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDConcreteComponent_Schema(), this.getXSDSchema(), null, "schema", null, 0, 1, XSDConcreteComponent.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDConcreteComponent_Diagnostics(), this.getXSDDiagnostic(), null, "diagnostics", null, 0, -1, XSDConcreteComponent.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdConstrainingFacetEClass, XSDConstrainingFacet.class, "XSDConstrainingFacet", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdDiagnosticEClass, XSDDiagnostic.class, "XSDDiagnostic", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDDiagnostic_Severity(), this.getXSDDiagnosticSeverity(), "severity", null, 0, 1, XSDDiagnostic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDDiagnostic_Message(), ecorePackage.getEString(), "message", null, 0, 1, XSDDiagnostic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDDiagnostic_LocationURI(), ecorePackage.getEString(), "locationURI", null, 0, 1, XSDDiagnostic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDDiagnostic_Line(), ecorePackage.getEInt(), "line", "1", 0, 1, XSDDiagnostic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDDiagnostic_Column(), ecorePackage.getEInt(), "column", "1", 0, 1, XSDDiagnostic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDDiagnostic_Node(), this.getDOMNode(), "node", null, 0, 1, XSDDiagnostic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDDiagnostic_AnnotationURI(), ecorePackage.getEString(), "annotationURI", null, 0, 1, XSDDiagnostic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDDiagnostic_Key(), ecorePackage.getEString(), "key", null, 0, 1, XSDDiagnostic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDDiagnostic_Substitutions(), ecorePackage.getEString(), "substitutions", null, 0, -1, XSDDiagnostic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDDiagnostic_Components(), this.getXSDConcreteComponent(), null, "components", null, 1, -1, XSDDiagnostic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDDiagnostic_PrimaryComponent(), this.getXSDConcreteComponent(), null, "primaryComponent", null, 1, 1, XSDDiagnostic.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdElementDeclarationEClass, XSDElementDeclaration.class, "XSDElementDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDElementDeclaration_Nillable(), ecorePackage.getEBoolean(), "nillable", null, 0, 1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDElementDeclaration_DisallowedSubstitutions(), this.getXSDDisallowedSubstitutions(), "disallowedSubstitutions", null, 0, -1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDElementDeclaration_SubstitutionGroupExclusions(), this.getXSDSubstitutionGroupExclusions(), "substitutionGroupExclusions", null, 0, -1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDElementDeclaration_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDElementDeclaration_LexicalFinal(), this.getXSDProhibitedSubstitutions(), "lexicalFinal", null, 0, -1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDElementDeclaration_Block(), this.getXSDDisallowedSubstitutions(), "block", null, 0, -1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDElementDeclaration_ElementDeclarationReference(), ecorePackage.getEBoolean(), "elementDeclarationReference", null, 0, 1, XSDElementDeclaration.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDElementDeclaration_Circular(), ecorePackage.getEBoolean(), "circular", null, 0, 1, XSDElementDeclaration.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDElementDeclaration_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDElementDeclaration_AnonymousTypeDefinition(), this.getXSDTypeDefinition(), null, "anonymousTypeDefinition", null, 0, 1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDElementDeclaration_TypeDefinition(), this.getXSDTypeDefinition(), null, "typeDefinition", null, 1, 1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDElementDeclaration_IdentityConstraintDefinitions(), this.getXSDIdentityConstraintDefinition(), null, "identityConstraintDefinitions", null, 0, -1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDElementDeclaration_ResolvedElementDeclaration(), this.getXSDElementDeclaration(), null, "resolvedElementDeclaration", null, 1, 1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDElementDeclaration_SubstitutionGroupAffiliation(), this.getXSDElementDeclaration(), null, "substitutionGroupAffiliation", null, 0, 1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDElementDeclaration_SubstitutionGroup(), this.getXSDElementDeclaration(), null, "substitutionGroup", null, 0, -1, XSDElementDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdEnumerationFacetEClass, XSDEnumerationFacet.class, "XSDEnumerationFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDEnumerationFacet_Value(), this.getValue(), "value", null, 0, -1, XSDEnumerationFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdFacetEClass, XSDFacet.class, "XSDFacet", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDFacet_LexicalValue(), ecorePackage.getEString(), "lexicalValue", null, 0, 1, XSDFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDFacet_FacetName(), ecorePackage.getEString(), "facetName", null, 0, 1, XSDFacet.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDFacet_EffectiveValue(), this.getValue(), "effectiveValue", null, 0, 1, XSDFacet.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDFacet_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDFacet_SimpleTypeDefinition(), this.getXSDSimpleTypeDefinition(), null, "simpleTypeDefinition", null, 0, 1, XSDFacet.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdFeatureEClass, XSDFeature.class, "XSDFeature", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDFeature_Value(), this.getValue(), "value", null, 0, 1, XSDFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDFeature_Constraint(), this.getXSDConstraint(), "constraint", null, 0, 1, XSDFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDFeature_Form(), this.getXSDForm(), "form", null, 0, 1, XSDFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDFeature_LexicalValue(), ecorePackage.getEString(), "lexicalValue", null, 0, 1, XSDFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDFeature_Global(), ecorePackage.getEBoolean(), "global", null, 0, 1, XSDFeature.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDFeature_FeatureReference(), ecorePackage.getEBoolean(), "featureReference", null, 0, 1, XSDFeature.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDFeature_Scope(), this.getXSDScope(), null, "scope", null, 0, 1, XSDFeature.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDFeature_ResolvedFeature(), this.getXSDFeature(), null, "resolvedFeature", null, 1, 1, XSDFeature.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDFeature_Type(), this.getXSDTypeDefinition(), null, "type", null, 1, 1, XSDFeature.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdFixedFacetEClass, XSDFixedFacet.class, "XSDFixedFacet", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDFixedFacet_Fixed(), ecorePackage.getEBoolean(), "fixed", null, 0, 1, XSDFixedFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdFractionDigitsFacetEClass, XSDFractionDigitsFacet.class, "XSDFractionDigitsFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDFractionDigitsFacet_Value(), ecorePackage.getEInt(), "value", null, 0, 1, XSDFractionDigitsFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdFundamentalFacetEClass, XSDFundamentalFacet.class, "XSDFundamentalFacet", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdIdentityConstraintDefinitionEClass, XSDIdentityConstraintDefinition.class, "XSDIdentityConstraintDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDIdentityConstraintDefinition_IdentityConstraintCategory(), this.getXSDIdentityConstraintCategory(), "identityConstraintCategory", null, 0, 1, XSDIdentityConstraintDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDIdentityConstraintDefinition_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDIdentityConstraintDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDIdentityConstraintDefinition_ReferencedKey(), this.getXSDIdentityConstraintDefinition(), null, "referencedKey", null, 0, 1, XSDIdentityConstraintDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDIdentityConstraintDefinition_Selector(), this.getXSDXPathDefinition(), null, "selector", null, 1, 1, XSDIdentityConstraintDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDIdentityConstraintDefinition_Fields(), this.getXSDXPathDefinition(), null, "fields", null, 1, -1, XSDIdentityConstraintDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdImportEClass, XSDImport.class, "XSDImport", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDImport_Namespace(), ecorePackage.getEString(), "namespace", null, 0, 1, XSDImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDImport_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdIncludeEClass, XSDInclude.class, "XSDInclude", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getXSDInclude_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDInclude.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdLengthFacetEClass, XSDLengthFacet.class, "XSDLengthFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDLengthFacet_Value(), ecorePackage.getEInt(), "value", null, 0, 1, XSDLengthFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdMaxExclusiveFacetEClass, XSDMaxExclusiveFacet.class, "XSDMaxExclusiveFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdMaxFacetEClass, XSDMaxFacet.class, "XSDMaxFacet", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDMaxFacet_Value(), this.getValue(), "value", null, 0, 1, XSDMaxFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDMaxFacet_Inclusive(), ecorePackage.getEBoolean(), "inclusive", null, 0, 1, XSDMaxFacet.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDMaxFacet_Exclusive(), ecorePackage.getEBoolean(), "exclusive", null, 0, 1, XSDMaxFacet.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdMaxInclusiveFacetEClass, XSDMaxInclusiveFacet.class, "XSDMaxInclusiveFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdMaxLengthFacetEClass, XSDMaxLengthFacet.class, "XSDMaxLengthFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDMaxLengthFacet_Value(), ecorePackage.getEInt(), "value", null, 0, 1, XSDMaxLengthFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdMinExclusiveFacetEClass, XSDMinExclusiveFacet.class, "XSDMinExclusiveFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdMinFacetEClass, XSDMinFacet.class, "XSDMinFacet", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDMinFacet_Value(), this.getValue(), "value", null, 0, 1, XSDMinFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDMinFacet_Inclusive(), ecorePackage.getEBoolean(), "inclusive", null, 0, 1, XSDMinFacet.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDMinFacet_Exclusive(), ecorePackage.getEBoolean(), "exclusive", null, 0, 1, XSDMinFacet.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdMinInclusiveFacetEClass, XSDMinInclusiveFacet.class, "XSDMinInclusiveFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdMinLengthFacetEClass, XSDMinLengthFacet.class, "XSDMinLengthFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDMinLengthFacet_Value(), ecorePackage.getEInt(), "value", null, 0, 1, XSDMinLengthFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdModelGroupEClass, XSDModelGroup.class, "XSDModelGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDModelGroup_Compositor(), this.getXSDCompositor(), "compositor", null, 0, 1, XSDModelGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDModelGroup_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDModelGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDModelGroup_Contents(), this.getXSDParticle(), null, "contents", null, 0, -1, XSDModelGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDModelGroup_Particles(), this.getXSDParticle(), null, "particles", null, 1, -1, XSDModelGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdModelGroupDefinitionEClass, XSDModelGroupDefinition.class, "XSDModelGroupDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDModelGroupDefinition_ModelGroupDefinitionReference(), ecorePackage.getEBoolean(), "modelGroupDefinitionReference", null, 0, 1, XSDModelGroupDefinition.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDModelGroupDefinition_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDModelGroupDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDModelGroupDefinition_ModelGroup(), this.getXSDModelGroup(), null, "modelGroup", null, 1, 1, XSDModelGroupDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDModelGroupDefinition_ResolvedModelGroupDefinition(), this.getXSDModelGroupDefinition(), null, "resolvedModelGroupDefinition", null, 1, 1, XSDModelGroupDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdNamedComponentEClass, XSDNamedComponent.class, "XSDNamedComponent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDNamedComponent_Name(), ecorePackage.getEString(), "name", null, 0, 1, XSDNamedComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDNamedComponent_TargetNamespace(), ecorePackage.getEString(), "targetNamespace", null, 0, 1, XSDNamedComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDNamedComponent_AliasName(), ecorePackage.getEString(), "aliasName", null, 0, 1, XSDNamedComponent.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDNamedComponent_URI(), ecorePackage.getEString(), "uRI", null, 0, 1, XSDNamedComponent.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDNamedComponent_AliasURI(), ecorePackage.getEString(), "aliasURI", null, 0, 1, XSDNamedComponent.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDNamedComponent_QName(), ecorePackage.getEString(), "qName", null, 0, 1, XSDNamedComponent.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdNotationDeclarationEClass, XSDNotationDeclaration.class, "XSDNotationDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDNotationDeclaration_SystemIdentifier(), ecorePackage.getEString(), "systemIdentifier", null, 0, 1, XSDNotationDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDNotationDeclaration_PublicIdentifier(), ecorePackage.getEString(), "publicIdentifier", null, 0, 1, XSDNotationDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDNotationDeclaration_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDNotationDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdNumericFacetEClass, XSDNumericFacet.class, "XSDNumericFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDNumericFacet_Value(), ecorePackage.getEBoolean(), "value", null, 0, 1, XSDNumericFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdOrderedFacetEClass, XSDOrderedFacet.class, "XSDOrderedFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDOrderedFacet_Value(), this.getXSDOrdered(), "value", null, 0, 1, XSDOrderedFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdParticleEClass, XSDParticle.class, "XSDParticle", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDParticle_MinOccurs(), ecorePackage.getEInt(), "minOccurs", "1", 0, 1, XSDParticle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDParticle_MaxOccurs(), ecorePackage.getEInt(), "maxOccurs", "1", 0, 1, XSDParticle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDParticle_Content(), this.getXSDParticleContent(), null, "content", null, 1, 1, XSDParticle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDParticle_Term(), this.getXSDTerm(), null, "term", null, 1, 1, XSDParticle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdParticleContentEClass, XSDParticleContent.class, "XSDParticleContent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdPatternFacetEClass, XSDPatternFacet.class, "XSDPatternFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDPatternFacet_Value(), ecorePackage.getEString(), "value", null, 0, -1, XSDPatternFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdRedefinableComponentEClass, XSDRedefinableComponent.class, "XSDRedefinableComponent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDRedefinableComponent_Circular(), ecorePackage.getEBoolean(), "circular", null, 0, 1, XSDRedefinableComponent.class, !IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdRedefineContentEClass, XSDRedefineContent.class, "XSDRedefineContent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdRedefineEClass, XSDRedefine.class, "XSDRedefine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getXSDRedefine_Annotations(), this.getXSDAnnotation(), null, "annotations", null, 0, -1, XSDRedefine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDRedefine_Contents(), this.getXSDRedefineContent(), null, "contents", null, 0, -1, XSDRedefine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdRepeatableFacetEClass, XSDRepeatableFacet.class, "XSDRepeatableFacet", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getXSDRepeatableFacet_Annotations(), this.getXSDAnnotation(), null, "annotations", null, 0, -1, XSDRepeatableFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdSchemaEClass, XSDSchema.class, "XSDSchema", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDSchema_Document(), this.getDOMDocument(), "document", null, 0, 1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDSchema_SchemaLocation(), ecorePackage.getEString(), "schemaLocation", null, 0, 1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDSchema_TargetNamespace(), ecorePackage.getEString(), "targetNamespace", null, 0, 1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDSchema_AttributeFormDefault(), this.getXSDForm(), "attributeFormDefault", "unqualified", 0, 1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDSchema_ElementFormDefault(), this.getXSDForm(), "elementFormDefault", "unqualified", 0, 1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDSchema_FinalDefault(), this.getXSDProhibitedSubstitutions(), "finalDefault", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDSchema_BlockDefault(), this.getXSDDisallowedSubstitutions(), "blockDefault", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDSchema_Version(), ecorePackage.getEString(), "version", null, 0, 1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_Contents(), this.getXSDSchemaContent(), null, "contents", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_ElementDeclarations(), this.getXSDElementDeclaration(), null, "elementDeclarations", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_AttributeDeclarations(), this.getXSDAttributeDeclaration(), null, "attributeDeclarations", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_AttributeGroupDefinitions(), this.getXSDAttributeGroupDefinition(), null, "attributeGroupDefinitions", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_TypeDefinitions(), this.getXSDTypeDefinition(), null, "typeDefinitions", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_ModelGroupDefinitions(), this.getXSDModelGroupDefinition(), null, "modelGroupDefinitions", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_IdentityConstraintDefinitions(), this.getXSDIdentityConstraintDefinition(), null, "identityConstraintDefinitions", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_NotationDeclarations(), this.getXSDNotationDeclaration(), null, "notationDeclarations", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_Annotations(), this.getXSDAnnotation(), null, "annotations", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_AllDiagnostics(), this.getXSDDiagnostic(), null, "allDiagnostics", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_ReferencingDirectives(), this.getXSDSchemaDirective(), null, "referencingDirectives", null, 0, -1, XSDSchema.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_RootVersion(), this.getXSDSchema(), null, "rootVersion", null, 1, 1, XSDSchema.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_OriginalVersion(), this.getXSDSchema(), null, "originalVersion", null, 0, 1, XSDSchema.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_IncorporatedVersions(), this.getXSDSchema(), null, "incorporatedVersions", null, 0, -1, XSDSchema.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchema_SchemaForSchema(), this.getXSDSchema(), null, "schemaForSchema", null, 1, 1, XSDSchema.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdSchemaCompositorEClass, XSDSchemaCompositor.class, "XSDSchemaCompositor", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getXSDSchemaCompositor_IncorporatedSchema(), this.getXSDSchema(), null, "incorporatedSchema", null, 0, 1, XSDSchemaCompositor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdSchemaContentEClass, XSDSchemaContent.class, "XSDSchemaContent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdSchemaDirectiveEClass, XSDSchemaDirective.class, "XSDSchemaDirective", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDSchemaDirective_SchemaLocation(), ecorePackage.getEString(), "schemaLocation", null, 0, 1, XSDSchemaDirective.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSchemaDirective_ResolvedSchema(), this.getXSDSchema(), null, "resolvedSchema", null, 0, 1, XSDSchemaDirective.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdScopeEClass, XSDScope.class, "XSDScope", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdSimpleTypeDefinitionEClass, XSDSimpleTypeDefinition.class, "XSDSimpleTypeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDSimpleTypeDefinition_Variety(), this.getXSDVariety(), "variety", null, 0, 1, XSDSimpleTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDSimpleTypeDefinition_Final(), this.getXSDSimpleFinal(), "final", null, 0, -1, XSDSimpleTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDSimpleTypeDefinition_LexicalFinal(), this.getXSDSimpleFinal(), "lexicalFinal", null, 0, -1, XSDSimpleTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDSimpleTypeDefinition_ValidFacets(), ecorePackage.getEString(), "validFacets", null, 0, -1, XSDSimpleTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_Contents(), this.getXSDSimpleTypeDefinition(), null, "contents", null, 0, -1, XSDSimpleTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_FacetContents(), this.getXSDConstrainingFacet(), null, "facetContents", null, 0, -1, XSDSimpleTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_Facets(), this.getXSDConstrainingFacet(), null, "facets", null, 0, -1, XSDSimpleTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_MemberTypeDefinitions(), this.getXSDSimpleTypeDefinition(), null, "memberTypeDefinitions", null, 0, -1, XSDSimpleTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_FundamentalFacets(), this.getXSDFundamentalFacet(), null, "fundamentalFacets", null, 1, -1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_BaseTypeDefinition(), this.getXSDSimpleTypeDefinition(), null, "baseTypeDefinition", null, 1, 1, XSDSimpleTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_PrimitiveTypeDefinition(), this.getXSDSimpleTypeDefinition(), null, "primitiveTypeDefinition", null, 0, 1, XSDSimpleTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_ItemTypeDefinition(), this.getXSDSimpleTypeDefinition(), null, "itemTypeDefinition", null, 0, 1, XSDSimpleTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_RootTypeDefinition(), this.getXSDSimpleTypeDefinition(), null, "rootTypeDefinition", null, 1, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_MinFacet(), this.getXSDMinFacet(), null, "minFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_MaxFacet(), this.getXSDMaxFacet(), null, "maxFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_MaxInclusiveFacet(), this.getXSDMaxInclusiveFacet(), null, "maxInclusiveFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_MinInclusiveFacet(), this.getXSDMinInclusiveFacet(), null, "minInclusiveFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_MinExclusiveFacet(), this.getXSDMinExclusiveFacet(), null, "minExclusiveFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_MaxExclusiveFacet(), this.getXSDMaxExclusiveFacet(), null, "maxExclusiveFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_LengthFacet(), this.getXSDLengthFacet(), null, "lengthFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_WhiteSpaceFacet(), this.getXSDWhiteSpaceFacet(), null, "whiteSpaceFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_EnumerationFacets(), this.getXSDEnumerationFacet(), null, "enumerationFacets", null, 0, -1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_PatternFacets(), this.getXSDPatternFacet(), null, "patternFacets", null, 0, -1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_CardinalityFacet(), this.getXSDCardinalityFacet(), null, "cardinalityFacet", null, 1, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_NumericFacet(), this.getXSDNumericFacet(), null, "numericFacet", null, 1, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_MaxLengthFacet(), this.getXSDMaxLengthFacet(), null, "maxLengthFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_MinLengthFacet(), this.getXSDMinLengthFacet(), null, "minLengthFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_TotalDigitsFacet(), this.getXSDTotalDigitsFacet(), null, "totalDigitsFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_FractionDigitsFacet(), this.getXSDFractionDigitsFacet(), null, "fractionDigitsFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_OrderedFacet(), this.getXSDOrderedFacet(), null, "orderedFacet", null, 1, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_BoundedFacet(), this.getXSDBoundedFacet(), null, "boundedFacet", null, 1, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_EffectiveMaxFacet(), this.getXSDMaxFacet(), null, "effectiveMaxFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_EffectiveWhiteSpaceFacet(), this.getXSDWhiteSpaceFacet(), null, "effectiveWhiteSpaceFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_EffectiveMaxLengthFacet(), this.getXSDMaxLengthFacet(), null, "effectiveMaxLengthFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_EffectiveFractionDigitsFacet(), this.getXSDFractionDigitsFacet(), null, "effectiveFractionDigitsFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_EffectivePatternFacet(), this.getXSDPatternFacet(), null, "effectivePatternFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_EffectiveEnumerationFacet(), this.getXSDEnumerationFacet(), null, "effectiveEnumerationFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_EffectiveTotalDigitsFacet(), this.getXSDTotalDigitsFacet(), null, "effectiveTotalDigitsFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_EffectiveMinLengthFacet(), this.getXSDMinLengthFacet(), null, "effectiveMinLengthFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_EffectiveLengthFacet(), this.getXSDLengthFacet(), null, "effectiveLengthFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_EffectiveMinFacet(), this.getXSDMinFacet(), null, "effectiveMinFacet", null, 0, 1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDSimpleTypeDefinition_SyntheticFacets(), this.getXSDFacet(), null, "syntheticFacets", null, 0, -1, XSDSimpleTypeDefinition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdTermEClass, XSDTerm.class, "XSDTerm", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		initEClass(xsdTotalDigitsFacetEClass, XSDTotalDigitsFacet.class, "XSDTotalDigitsFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDTotalDigitsFacet_Value(), ecorePackage.getEInt(), "value", null, 0, 1, XSDTotalDigitsFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdTypeDefinitionEClass, XSDTypeDefinition.class, "XSDTypeDefinition", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getXSDTypeDefinition_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDTypeDefinition_DerivationAnnotation(), this.getXSDAnnotation(), null, "derivationAnnotation", null, 0, 1, XSDTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDTypeDefinition_Annotations(), this.getXSDAnnotation(), null, "annotations", null, 0, -1, XSDTypeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDTypeDefinition_RootType(), this.getXSDTypeDefinition(), null, "rootType", null, 1, 1, XSDTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDTypeDefinition_BaseType(), this.getXSDTypeDefinition(), null, "baseType", null, 1, 1, XSDTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDTypeDefinition_SimpleType(), this.getXSDSimpleTypeDefinition(), null, "simpleType", null, 0, 1, XSDTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDTypeDefinition_ComplexType(), this.getXSDParticle(), null, "complexType", null, 0, 1, XSDTypeDefinition.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdWhiteSpaceFacetEClass, XSDWhiteSpaceFacet.class, "XSDWhiteSpaceFacet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDWhiteSpaceFacet_Value(), this.getXSDWhiteSpace(), "value", null, 0, 1, XSDWhiteSpaceFacet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdWildcardEClass, XSDWildcard.class, "XSDWildcard", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDWildcard_NamespaceConstraintCategory(), this.getXSDNamespaceConstraintCategory(), "namespaceConstraintCategory", null, 0, 1, XSDWildcard.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDWildcard_NamespaceConstraint(), ecorePackage.getEString(), "namespaceConstraint", null, 0, -1, XSDWildcard.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDWildcard_ProcessContents(), this.getXSDProcessContents(), "processContents", null, 0, 1, XSDWildcard.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDWildcard_LexicalNamespaceConstraint(), ecorePackage.getEString(), "lexicalNamespaceConstraint", null, 0, -1, XSDWildcard.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDWildcard_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDWildcard.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDWildcard_Annotations(), this.getXSDAnnotation(), null, "annotations", null, 0, -1, XSDWildcard.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(xsdxPathDefinitionEClass, XSDXPathDefinition.class, "XSDXPathDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getXSDXPathDefinition_Variety(), this.getXSDXPathVariety(), "variety", null, 0, 1, XSDXPathDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getXSDXPathDefinition_Value(), ecorePackage.getEString(), "value", null, 0, 1, XSDXPathDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getXSDXPathDefinition_Annotation(), this.getXSDAnnotation(), null, "annotation", null, 0, 1, XSDXPathDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		// Initialize enums and add enum literals
		initEEnum(xsdAttributeUseCategoryEEnum, XSDAttributeUseCategory.class, "XSDAttributeUseCategory");
		addEEnumLiteral(xsdAttributeUseCategoryEEnum, XSDAttributeUseCategory.OPTIONAL);
		addEEnumLiteral(xsdAttributeUseCategoryEEnum, XSDAttributeUseCategory.PROHIBITED);
		addEEnumLiteral(xsdAttributeUseCategoryEEnum, XSDAttributeUseCategory.REQUIRED);

		initEEnum(xsdCardinalityEEnum, XSDCardinality.class, "XSDCardinality");
		addEEnumLiteral(xsdCardinalityEEnum, XSDCardinality.FINITE);
		addEEnumLiteral(xsdCardinalityEEnum, XSDCardinality.COUNTABLY_INFINITE);

		initEEnum(xsdComplexFinalEEnum, XSDComplexFinal.class, "XSDComplexFinal");
		addEEnumLiteral(xsdComplexFinalEEnum, XSDComplexFinal.EXTENSION);
		addEEnumLiteral(xsdComplexFinalEEnum, XSDComplexFinal.RESTRICTION);
		addEEnumLiteral(xsdComplexFinalEEnum, XSDComplexFinal.ALL);

		initEEnum(xsdCompositorEEnum, XSDCompositor.class, "XSDCompositor");
		addEEnumLiteral(xsdCompositorEEnum, XSDCompositor.ALL);
		addEEnumLiteral(xsdCompositorEEnum, XSDCompositor.CHOICE);
		addEEnumLiteral(xsdCompositorEEnum, XSDCompositor.SEQUENCE);

		initEEnum(xsdConstraintEEnum, XSDConstraint.class, "XSDConstraint");
		addEEnumLiteral(xsdConstraintEEnum, XSDConstraint.DEFAULT);
		addEEnumLiteral(xsdConstraintEEnum, XSDConstraint.FIXED);

		initEEnum(xsdContentTypeCategoryEEnum, XSDContentTypeCategory.class, "XSDContentTypeCategory");
		addEEnumLiteral(xsdContentTypeCategoryEEnum, XSDContentTypeCategory.EMPTY);
		addEEnumLiteral(xsdContentTypeCategoryEEnum, XSDContentTypeCategory.SIMPLE);
		addEEnumLiteral(xsdContentTypeCategoryEEnum, XSDContentTypeCategory.MIXED);
		addEEnumLiteral(xsdContentTypeCategoryEEnum, XSDContentTypeCategory.ELEMENT_ONLY);

		initEEnum(xsdDerivationMethodEEnum, XSDDerivationMethod.class, "XSDDerivationMethod");
		addEEnumLiteral(xsdDerivationMethodEEnum, XSDDerivationMethod.EXTENSION);
		addEEnumLiteral(xsdDerivationMethodEEnum, XSDDerivationMethod.RESTRICTION);

		initEEnum(xsdDiagnosticSeverityEEnum, XSDDiagnosticSeverity.class, "XSDDiagnosticSeverity");
		addEEnumLiteral(xsdDiagnosticSeverityEEnum, XSDDiagnosticSeverity.FATAL);
		addEEnumLiteral(xsdDiagnosticSeverityEEnum, XSDDiagnosticSeverity.ERROR);
		addEEnumLiteral(xsdDiagnosticSeverityEEnum, XSDDiagnosticSeverity.WARNING);
		addEEnumLiteral(xsdDiagnosticSeverityEEnum, XSDDiagnosticSeverity.INFORMATION);

		initEEnum(xsdDisallowedSubstitutionsEEnum, XSDDisallowedSubstitutions.class, "XSDDisallowedSubstitutions");
		addEEnumLiteral(xsdDisallowedSubstitutionsEEnum, XSDDisallowedSubstitutions.SUBSTITUTION);
		addEEnumLiteral(xsdDisallowedSubstitutionsEEnum, XSDDisallowedSubstitutions.EXTENSION);
		addEEnumLiteral(xsdDisallowedSubstitutionsEEnum, XSDDisallowedSubstitutions.RESTRICTION);
		addEEnumLiteral(xsdDisallowedSubstitutionsEEnum, XSDDisallowedSubstitutions.ALL);

		initEEnum(xsdFormEEnum, XSDForm.class, "XSDForm");
		addEEnumLiteral(xsdFormEEnum, XSDForm.QUALIFIED);
		addEEnumLiteral(xsdFormEEnum, XSDForm.UNQUALIFIED);

		initEEnum(xsdIdentityConstraintCategoryEEnum, XSDIdentityConstraintCategory.class, "XSDIdentityConstraintCategory");
		addEEnumLiteral(xsdIdentityConstraintCategoryEEnum, XSDIdentityConstraintCategory.KEY);
		addEEnumLiteral(xsdIdentityConstraintCategoryEEnum, XSDIdentityConstraintCategory.KEYREF);
		addEEnumLiteral(xsdIdentityConstraintCategoryEEnum, XSDIdentityConstraintCategory.UNIQUE);

		initEEnum(xsdNamespaceConstraintCategoryEEnum, XSDNamespaceConstraintCategory.class, "XSDNamespaceConstraintCategory");
		addEEnumLiteral(xsdNamespaceConstraintCategoryEEnum, XSDNamespaceConstraintCategory.ANY);
		addEEnumLiteral(xsdNamespaceConstraintCategoryEEnum, XSDNamespaceConstraintCategory.NOT);
		addEEnumLiteral(xsdNamespaceConstraintCategoryEEnum, XSDNamespaceConstraintCategory.SET);

		initEEnum(xsdOrderedEEnum, XSDOrdered.class, "XSDOrdered");
		addEEnumLiteral(xsdOrderedEEnum, XSDOrdered.FALSE);
		addEEnumLiteral(xsdOrderedEEnum, XSDOrdered.PARTIAL);
		addEEnumLiteral(xsdOrderedEEnum, XSDOrdered.TOTAL);

		initEEnum(xsdProcessContentsEEnum, XSDProcessContents.class, "XSDProcessContents");
		addEEnumLiteral(xsdProcessContentsEEnum, XSDProcessContents.STRICT);
		addEEnumLiteral(xsdProcessContentsEEnum, XSDProcessContents.LAX);
		addEEnumLiteral(xsdProcessContentsEEnum, XSDProcessContents.SKIP);

		initEEnum(xsdProhibitedSubstitutionsEEnum, XSDProhibitedSubstitutions.class, "XSDProhibitedSubstitutions");
		addEEnumLiteral(xsdProhibitedSubstitutionsEEnum, XSDProhibitedSubstitutions.EXTENSION);
		addEEnumLiteral(xsdProhibitedSubstitutionsEEnum, XSDProhibitedSubstitutions.RESTRICTION);
		addEEnumLiteral(xsdProhibitedSubstitutionsEEnum, XSDProhibitedSubstitutions.ALL);

		initEEnum(xsdSimpleFinalEEnum, XSDSimpleFinal.class, "XSDSimpleFinal");
		addEEnumLiteral(xsdSimpleFinalEEnum, XSDSimpleFinal.LIST);
		addEEnumLiteral(xsdSimpleFinalEEnum, XSDSimpleFinal.RESTRICTION);
		addEEnumLiteral(xsdSimpleFinalEEnum, XSDSimpleFinal.UNION);
		addEEnumLiteral(xsdSimpleFinalEEnum, XSDSimpleFinal.ALL);

		initEEnum(xsdSubstitutionGroupExclusionsEEnum, XSDSubstitutionGroupExclusions.class, "XSDSubstitutionGroupExclusions");
		addEEnumLiteral(xsdSubstitutionGroupExclusionsEEnum, XSDSubstitutionGroupExclusions.EXTENSION);
		addEEnumLiteral(xsdSubstitutionGroupExclusionsEEnum, XSDSubstitutionGroupExclusions.RESTRICTION);

		initEEnum(xsdVarietyEEnum, XSDVariety.class, "XSDVariety");
		addEEnumLiteral(xsdVarietyEEnum, XSDVariety.ATOMIC);
		addEEnumLiteral(xsdVarietyEEnum, XSDVariety.LIST);
		addEEnumLiteral(xsdVarietyEEnum, XSDVariety.UNION);

		initEEnum(xsdWhiteSpaceEEnum, XSDWhiteSpace.class, "XSDWhiteSpace");
		addEEnumLiteral(xsdWhiteSpaceEEnum, XSDWhiteSpace.PRESERVE);
		addEEnumLiteral(xsdWhiteSpaceEEnum, XSDWhiteSpace.REPLACE);
		addEEnumLiteral(xsdWhiteSpaceEEnum, XSDWhiteSpace.COLLAPSE);

		initEEnum(xsdxPathVarietyEEnum, XSDXPathVariety.class, "XSDXPathVariety");
		addEEnumLiteral(xsdxPathVarietyEEnum, XSDXPathVariety.SELECTOR);
		addEEnumLiteral(xsdxPathVarietyEEnum, XSDXPathVariety.FIELD);

		// Initialize data types
		initEDataType(domAttrEDataType, Attr.class, "DOMAttr", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
		initEDataType(domDocumentEDataType, Document.class, "DOMDocument", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
		initEDataType(domElementEDataType, Element.class, "DOMElement", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
		initEDataType(domNodeEDataType, Node.class, "DOMNode", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
		initEDataType(valueEDataType, Object.class, "Value", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);

		// Create resource
		createResource(eNS_URI);
	}

} //XsdPackageImpl
